过滤器与拦截器区别,action通配符配置,struts2数据验证

来源:互联网 发布:淘宝基础店铺全屏店招 编辑:程序博客网 时间:2024/05/29 17:57

过滤器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中较好

        



1 0