和webwork得差不多,首先写拦截器配置文件:xwork-losbgm-default.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPExworkPUBLIC"-//OpenSymphonyGroup//XWork1.1.1//EN"
"http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
<xwork>
<includefile="struts-default.xml"/>
<packagename="xwork-losbgm-default"extends="struts-default">
<interceptors>
<interceptorname="employeeAccessInterceptor"
class="tool.UserAccessInterceptor">
</interceptor>
<interceptor-stackname="losbgmStack">
<interceptor-refname="employeeAccessInterceptor"></interceptor-ref>
<interceptor-refname="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-refname="losbgmStack"></default-interceptor-ref>
<global-results>
<resultname="error">/error.jsp</result>
<resultname="index">/index.jsp</result>
</global-results>
</package>
</xwork>
在写一个拦截器类:UserAccessInterceptor.java
//Sourcefile:F:/java/Oil/src/com/xj/tools/UserAccessInterceptor.java
packagetool;
importcom.opensymphony.xwork2.ActionInvocation;
importcom.opensymphony.xwork2.interceptor.AbstractInterceptor;

publicclassUserAccessInterceptorextendsAbstractInterceptor...{
@Override
publicvoiddestroy()...{
//TODOAuto-generatedmethodstub
super.destroy();
}
@Override
publicvoidinit()...{
//TODOAuto-generatedmethodstub
super.init();
}
@Override
publicStringintercept(ActionInvocationarg0)throwsException...{
//TODOAuto-generatedmethodstub
return"error";
}

}
再要实现拦截器的配置文件中先倒入文件再继承包就可以了:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<includefile="struts-default.xml"></include>
<includefile="xwork-losbgm-default.xml"></include>
<packagename="login"namespace="/"extends="xwork-losbgm-default">
<actionname="login"class="action.LoginAction">
<resultname="success">/index.jsp</result>
</action>
<actionname="main">
<result>/main.jsp</result>
</action>
<actionname="Register">
<result>/index.jsp</result>
</action>
<actionname="*">
<result>/{1}.jsp</result>
</action>
</package>
</struts>
===================================================================================
struts2中的拦截器如何配置在action前后都执行呢?

publicStringintercept(ActionInvocationinvocation)...{
//dosomejobbeforeinvocation
//...
Stringresult=invocation.invoke();
//dosomejobafterinvocation
//...
returnresult;
}
==============================================================================
本文介绍了Struts2中自定义拦截器的配置方法,包括创建拦截器配置文件xwork-losbgm-default.xml,编写拦截器类UserAccessInterceptor.java,并在Struts配置文件中集成这些组件的过程。
864

被折叠的 条评论
为什么被折叠?



