一。创建个类,继承struts拦截器父类 AbstractInterceptor 附上主要代码
public class Interceptorclass extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation arg0) {
String result = null;
try {
//Action调用前逻辑处理
result = arg0.invoke();//Action方法调用
//Action调用后逻辑处理
} catch (Exception e){
e.printStackTrace();
//此处可以逻辑处理,将错误信息e存入resultjsonvalue变量中,由此可传递给界面错误信息
return "AJAX";
}
return result;
}
...
}
二。配置struts.xml
<interceptors>
<interceptor name="InterceptorclassName" class="com.Interceptorclass "></interceptor>
...<!--也可以添加权限校验之类的拦截器-->
<interceptor-stack name="MyInterceptorStack">
<interceptor-ref name="InterceptorclassName"></interceptor-ref>
...
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!--Action配置,配置上拦截器-->
<action name="logon_*" class="LogonActionBean" method="{1}">
<interceptor-ref name="MyInterceptorStack"></interceptor-ref>
<result name="success">/webapps/.../XXX.jsp</result>
</action>
<!--全局指向-->
<global-results>
<result name="fail">/webapps/.../fail.jsp</result>
...
<result name="AJAX" type="json">
<param name="ignoreHierarchy">false</param>
<param name="includeProperties">resultjsonvalue</param>
</result>
</global-results>
拦截器配置完成。