首页 > 代码库 > 闭关修炼——two——struts2

闭关修炼——two——struts2


day3:

ognl使用#的两种方式: 获取域对象的值(request),<s:iterator>标签中获取list集合数据

ognl使用%的方式:在struts2的表单标签中要使用%标识,不然不能识别, <s:textfile type=‘text‘ value=http://www.mamicode.com/‘%{#request.username}‘/>

el为什么能获取值栈的数据: el本身就是用来获取域对象数据的,能获取值栈数据是因为底层增强域对象( request)中的getAttribute()---- 效率低一般不用

向值栈存放数据的三种方式:1.set() 2.push() 3.定义变量,变量get(),赋值---常用

向值栈存放对象,存放List集合

获取值栈对象值,获取字符串, 获取List集合的三种方式:1.list[0].username 2.<s:iterator>..
3.<s:iterator value="http://www.mamicode.com/list" var="user"> --- 常用
<s:property value="http://www.mamicode.com/#user.username"/>

获取set,push(用到top数组)方法设置的值


day4:

什么是拦截器:struts2里面封装的功能都是在拦截器里 struts2封装了很多功能,有多个拦截器,每次 只执行默认的拦截器。

什么时候执行过滤器: 在action对象创建后,action方法执行前

拦截器底层实现的两个原理:
1.aop思想
面向切面编程,不通过修改源代码方式扩展功能
2.责任链模式(类似于过滤链模式)--- 类似于放行---  .invoke();
java中的一种设计模式

过滤器与拦截器的区别:
过滤器:理论上可以过滤任意内容,如html,jsp,servlet,图片路径
拦截器:只可以拦截action

servlet与action的区别

自定义拦截器: 1.实现接口Interceptor 2.继承AbstractInterceptor 3. 继承MethodFilterInterceptor(常用,因为可以设置不拦截的方法)

步骤: 1.继承MethodFilterInterceptor,实现方法 2.在struts.xml的package内配置拦截器 3.action标签内使用自定义的拦截器 4.手动启动默认拦截器(defaultStack)

配置不拦截方法: action标签内使用自定义的拦截器时,<param name="excludeMethods">login</param>


Struts常用标签:<s:iterator> <s:debug> <s:property>

Struts表单标签:html有的大多数都一样!

案列操作,等学习了Hibernate之后看看

闭关修炼——two——struts2