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>