幸运小侯子 2010-01-21
1.alias:实现在不同请求中相似参数别名的转换;
2.autowiring:自动装配的拦截器,主要用于和spring整合时,struts2可以使用自动装配的方式访问spring的bean
3.chain:使当前action可以访问前一个action的属性,一般和
<resulttype="chain">....使用
4.conversionError:这是一个负责处理类型转换错误的拦截器,负责将类型转换从actionContext读取出来,转换成Action的FieldError错误
5.createSession:创建一个httpSession对象
6.debugging:使用开发模式时,显示更多的调试信息
7.execAndWait:后台执行Action,负责将等待画面发送给用户
8.exception:负责处理异常,将异常映射为结果
9.fileUpload:用于文件上传,解析表单域的内容
10.i18n:支持国际化,负责将所选的语言,放入到用户的session
11.logger:负责日志记录
12.modelDriven:用于模型驱动,当某个action实现modelDriven接口时,负责通过getModel()将model传给Action
13.params:基本的拦截器,负责解析http请求的参数,将参数值设置成Action对应的属性值
14.prepare:如果Action实现preparable接口,将会调用该拦截器的prepare的方法。
15.static-params:负责xml中Action的param标签解析传入到Action
16.scope:这是范围转换拦截器,将Action状态信息保存在HttpSession或ServletContext范围内
17.servlet-config:如果某个Action需要直接访问ServletApi就需要这个拦截器
18.role:JAAS,只有当浏览者取得合适的授权,才可以调用该拦截器的Action
19.timer:拦截Action的执行时间,一般在分析Action的性能瓶颈的时候使用
20.token:防止重复提交
21.validation:通过执行在ActionName-validation.xml中定义的效验器,从而完成数据验证
22.workflow:这个拦截器负责调用Action类中的validate方法,如果验证失败,返回input视图
经常使用的默认defaultStack包括以下拦截器。
<interceptor-stack name="defaultStack"> <interceptor-ref name="exception"/> <interceptor-ref name="alias"/> <interceptor-ref name="servletConfig"/> <interceptor-ref name="prepare"/> <interceptor-ref name="i18n"/> <interceptor-ref name="chain"/> <interceptor-ref name="debugging"/> <interceptor-ref name="profiling"/> <interceptor-ref name="scopedModelDriven"/> <interceptor-ref name="modelDriven"/> <interceptor-ref name="fileUpload"/> <interceptor-ref name="checkbox"/> <interceptor-ref name="staticParams"/> <interceptor-ref name="params"> <param name="excludeParams">dojo\..*</param> </interceptor-ref> <interceptor-ref name="conversionError"/> <interceptor-ref name="validation"> <param name="excludeMethods">input,back,cancel,browse</param> </interceptor-ref> <interceptor-ref name="workflow"> <param name="excludeMethods">input,back,cancel,browse</param> </interceptor-ref> </interceptor-stack>