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

  • Post author:
  • Post category:其他



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



版权声明:本文为qq_21033663原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。