Struts2的拦截器配置
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
拦截器实例
public class SimpleInterceptor extends AbstractInterceptor { private String name; public void setName(String name) { = name; } public String intercept(ActionInvocation invocation) throws Exception { LoginAction action = (LoginAction)invocation.getAction(); ......... String result = invocation.invoke(); ...... return result; } }
Struts 专题篇
第九章 Struts 2 的拦截器 主讲:陈宝峰
内容描述
● ● ● ● ● ●
拦截器概述 拦截器配置 使用拦截器的配置 使用默认拦截器的配置 拦截器实例 方法过滤
拦截器概述
● ●
拦截器是 Struts 2 中的重要组成部分 大量的内建拦截器完成了大部分的 Struts2 框架的工作
结束
使用默认拦截器的配置
<package name=” 包名” > <interceptors> <interceptor name=” 拦截器名 1” class=”......” /> ...... <interceptor-stack name=” 拦截器栈名 1”> <interceptor-ref name=” 拦截器名 1” /> ...... </interceptor-stack> </interceptors> <default-interceptor-ref name=” 拦截器名或拦截器栈名” /> <action ...... /> </package>
● ●
params 拦截器负责解析 HTTP 请求中的参数到 Action 的属性中 fileUpload 拦截器接收上传的文件,并将其设为 Action 的属性
●
拦截器可以灵活配置而不影响框架的其他任何操作
● ●
自定义的拦截器配置 struts.xml 中 建议将多个 Action 中重复执行的动作封装到自定义拦截器中
方法过滤
● ●
方法过滤拦截器继承 MethodFilterInterceptor 重写 doIntercept() 方法
public String doIntercept(ActionInvocation in) throws Exception
●
配置方法拦截器
<action ...> <interceptor-ref name=” 拦截器名” > <param name=”excludeMethods”>execute,hello</param> <param name=”includeMethods”>execute</param> </interceptor-ref> </action>
拦截器配置
●
简单拦截器配置
class=” 实现类名字” />
<interceptor name=” 拦截器名字”
●
带参数的拦截器配置
<interceptor name=” 拦截器名字” class=” 实现类名字” > <param name=” 参数名” > 参数值 </param> </interceptor>
●
拦截器栈配置
<interceptor-stack name=” 拦截器栈名字” > <interceptor-ref name=” 拦截器一名字” /> <interceptor-ref name=” 拦截器二名字” /> </interceptor>
使用拦截器的配置
<package name=” 包名” > <interceptors> <interceptor name=” 拦截器名 1” class=”......” /> ...... </interceptors> <action name=”login” class=”com.web.LoginAction”> <result name=”error”>/error.jsp</result> <result name=”success”>/hello.jsp</result> <interceptor-ref name=”defaultStack” /> <interceptor-ref name=” 拦截器名 1” /> </action> </package>