过滤器filter与拦截器interceptor区别:
1)filter基于回调函数,interceptor基于java自身反射机制
2)filter依赖于servlet容器,interceptor与servlet容器无关
3)filter过滤范围更大,interceptor只能过滤请求
4)filter过滤例外在init()中声明,interceptor可以再配置文件中声明是guest请求还是user请求
action通配符配置
<action name=”*_*” class=”包名.{1}Action” method=”{2}”>
<result name=”str1″> page1</result>
……….
</action>
其中{1}为name中第一个*的表达式,{2}为第二个*的表达式
优先配置最精确的,然后是带*号的,都是带*号的匹配先能匹配上的
Struts2数据验证
Action类要继承ActionSupport
1)重写validate()方法:
当有错误时,输出错误信息:this.addFieldError(“控件name”,”信息”) 返回到相应页面
使用<s:property value=”控件name” />来在其他页面获取该值
String里个5个静态常量:ERROR,INPUT,LOGIN,NONE,SUCCESS 其中validate()默认返回“input”字符串
2)基于xml文件的校验框架:
在Action类所在的包下,按照ActionName_validation.xml建立一个校验文件
个人觉得对于简单的校验还是放在前端js中较好