全部博文(2065)
分类: Java
2008-12-16 15:01:17
<interceptor-ref name="appStack"/>
<result type="redirect">List.actionresult>
<result name="input">Edit.jspresult>
配置:
<package name="Struts2_CRUD_DEMO" extends="struts-default"
namespace="/Book">
<interceptors>
<interceptor name="testInterceptor"
class="tutorial.intercept.TestIntercept" />
<interceptor name="testMethodInterceptor"
class="tutorial.intercept.TestMethodIntercept" >
<param name="includeMethods">list,loadparam>
<param name="excludeMethods">storeparam>
interceptor>
<interceptor-stack name="appStack">
<interceptor-ref name="testInterceptor" />
<interceptor-ref name="defaultStack" />
<interceptor-ref name ="timer" />
<interceptor-ref name ="testMethodInterceptor" />
interceptor-stack>
interceptors>
<default-interceptor-ref name="appStack">default-interceptor-ref>
<global-results>
<result name="root">/exception.jspresult>
global-results>
<global-exception-mappings>
<exception-mapping exception="common.MyException"
result="root" />
global-exception-mappings>
<action name="List" class="bookAction" method="list">
<result>List.jspresult>
action>
<action name="Edit" class="bookAction" method="load">
<result>Edit.jspresult>
action>
<action name="Store" class="bookAction" method="store">
<interceptor-ref name="appStack"/>
<result type="redirect">List.actionresult>
<result name="input">Edit.jspresult>
action>
<action name="Remove" class="bookAction" method="remove">
<result type="redirect">List.actionresult>
action>
package>
3. Struts2(XWork)提供的拦截器的功能说明:
拦截器 |
名字 |
说明 |
Alias Interceptor |
alias |
在不同请求之间将请求参数在不同名字件转换,请求内容不变 |
Chaining Interceptor |
chain |
让前一个Action的属性可以被后一个Action访问,现在和chain类型的result( |
Checkbox Interceptor |
checkbox |
添加了checkbox自动处理代码,将没有选中的checkbox的内容设定为false,而html默认情况下不提交没有选中的checkbox。 |
Cookies Interceptor |
cookies |
使用配置的name,value来是指cookies |
Conversion Error Interceptor |
conversionError |
将错误从ActionContext中添加到Action的属性字段中。 |
Create Session Interceptor |
createSession |
自动的创建HttpSession,用来为需要使用到HttpSession的拦截器服务。 |
Debugging Interceptor |
debugging |
提供不同的调试用的页面来展现内部的数据状况。 |
Execute and Wait Interceptor |
execAndWait |
在后台执行Action,同时将用户带到一个中间的等待页面。 |
Exception Interceptor |
exception |
将异常定位到一个画面 |
File Upload Interceptor |
fileUpload |
提供文件上传功能 |
I18n Interceptor |
i18n |
记录用户选择的locale |
Logger Interceptor |
logger |
输出Action的名字 |
Message Store Interceptor |
store |
存储或者访问实现ValidationAware接口的Action类出现的消息,错误,字段错误等。 |
Model Driven Interceptor |
model-driven |
如果一个类实现了ModelDriven,将getModel得到的结果放在Value Stack中。 |
Scoped Model Driven |
scoped-model-driven |
如果一个Action实现了ScopedModelDriven,则这个拦截器会从相应的Scope中取出model调用Action的setModel方法将其放入Action内部。 |
Parameters Interceptor |
params |
将请求中的参数设置到Action中去。 |
Prepare Interceptor |
prepare |
如果Acton实现了Preparable,则该拦截器调用Action类的prepare方法。 |
Scope Interceptor |
scope |
将Action状态存入session和application的简单方法。 |
Servlet Config Interceptor |
servletConfig |
提供访问HttpServletRequest和HttpServletResponse的方法,以Map的方式访问。 |
Static Parameters Interceptor |
staticParams |
从struts.xml文件中将 |
Roles Interceptor |
roles |
确定用户是否具有JAAS指定的Role,否则不予执行。 |
Timer Interceptor |
timer |
输出Action执行的时间 |
Token Interceptor |
token |
通过Token来避免双击 |
Token Session Interceptor |
tokenSession |
和Token Interceptor一样,不过双击的时候把请求的数据存储在Session中 |
Validation Interceptor |
validation |
使用action-validation.xml文件中定义的内容校验提交的数据。 |
Workflow Interceptor |
workflow |
调用Action的validate方法,一旦有错误返回,重新定位到INPUT画面 |
Parameter Filter Interceptor |
N/A |
从参数列表中删除不必要的参数 |
Profiling Interceptor |
profiling |
通过参数激活profile |