Struts2,大爷你好!第三天

day03

6.struts2  拦截器
    是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts拦截器是可插拔的,
    拦截器是AOP(面向切面)的一种实现
优点:调用功能的封装,提供了可重用性;
xml文件配置拦截器:

复制代码
<interceptors>
<interceptor name="myInterceptor" class="com.fdx.interceptor.MyInterceptor"></interceptor>
</interceptors>

<action>
    引用
    <interceptor-ref name="myInterceptor"></interceptor-ref>
    <interceptor-ref name="defaultStack"></interceptor-ref>
</action>
复制代码

 


7.自定义拦截器--登录验证拦截器
    

8.第一节
--值栈简介:
    值栈是对应每个请求对象的一套内存数据的封装,Strust2会给每个请求创建一个新的值栈。
    值栈能够线程安全的为每个请求提供公共的数据存取服务。

第二节:OGNL引入
OGNL是对象图导航语言Object-Graph Navigation Language的缩写,他是一种功能强大的表达式语言。
OGNL访问ValueStack数据
<s:property value="account"/>

OGNL访问ActionContext数据
访问某个范围下的数据要用#
#parameters 请求参数 request.getParameters();
#request 请求作用域中的数据 request.getAttribute();
#session 会话作用域中的数据 session.getAttribute();
#application 应用程序作用域中的数据 application.getAttribute();
#attr 按照page request session application 顺序查找值

9.第三节:OGNL访问复杂对象
    --访问javabean对象
    --访问集合对象 ArrayList   <s:property value="student[i]".属性/>
    --访问Map对象   HashMap    <s:property value="student['key值']".属性/>

第四节:OGNL访问静态方法和属性
    --访问静态属性  publi static final String str="静态属性";
            --访问静态属性:<s:property value="@路径@str"/>    
    --访问静态方法    public static void printUrl(){
                System.out.println("静态方法");
            }
            --访问静态方法:<s:property value="@路径@printUrl()"/>    
            --需要配置xml文件:<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>

posted @   小白咚  阅读(105)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示