struts2默认拦截器与自定义拦截器在使用时的注意事项
jopen
11年前
很多时候,我们会自定义一个拦截器来替换struts2默认的拦截器,这时,我们需要注意一些事项。
百度一下,我们找到了默认拦截器的说明,如下:
拦截器/Interceptor | 名字 | 说明 |
Alias | alias | 在不同的请求之间将请求的参数在不同的名称之间转换,请求的内容不变 |
Chaining | chain | 让前一个Action的属性可以变被后一个Action访问,现在和chain类型的result()结合使用 |
Checkbox | checkbox | 添加了checkbox自动处理代码,将没有选中的checkbox的内容设定为false,而HTML默认情况下不提交没有选中的checkbox |
Cookies | cookies | 使用配置的name ,value来指定cookies |
Conversion Error | conversionError | 将错误从ActionContext中添加到Action属性字段中 |
Create Session | createSession | 自动的创建HttpSession,用来为需要使用HttpSession的拦截器服务 |
Debugging | debugging | 提供不同的调试用的页面来展现内部的数据情况 |
Execute and Wait | execAndWait | 在后台执行Action,同时将用户带到一个中间的等待页面 |
Exception | exception | 将异常定位到一个画面 |
File Upload | fileUpload | 提供文件上传功能 |
I18n | i18n | 记录用户选择的locale |
Logger | logger | 输出Action的名字 |
Message Store | store | 存储或者访问实现ValidationAware接口的Action类出现的消息、错误、字段错误等 |
Model Driven | model-driven | 如果一个类实现了ModelDriven,将getModel得到的结果放到Value Stack中 |
Scoped Model Driven | scoped-model-driven | 如果一个Action实现了Scoped Model Driven,这这个拦截器会从相应的scope中取出model调用Action中的setModel方法,将其放入Action内部 |
Parameters | params | 将请求的参数设置到Action中 |
Prepare | prepare | 如果Action实现了Preparable,则该拦截器会调用Action类的prepare方法 |
Scope | scope | 将Action状态存入session和application中的简单方法 |
Servlet Config | servletconfig | 提供访问HttpServletRequest和HttpServletResponse的方法,以Map的方式访问 |
Static Parameters | staticParams | 从struts.xml文件中将中的内容设置到对应的Action中 |
Roles | roles | 确定用户是否具有JAAS指定的Role,否则不予执行 |
Timer | timer | 输出Action执行的时间 |
Token | token | 通过Token来避免双击 |
Token Session | tokenSession | 和Token一样,不过双击的时候将数据放到了session中 |
Validation | validation | 使用action-validation.xml文件中定义的内容校验提交的数据 |
Workflow | workflow | 调用Action的validate方法,一旦有错误返回,重新定位到INPUT页面 |
Parameter Filter | N/A | 从参数列表中删除不必要的参数 |
Profiling | profiling | 通过参数激活profile |
<interceptor-ref name="params"/> <interceptor-ref name="myInterceptor"/></span>