一、编写拦截器
public class CustomInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
String method = invocation.getProxy().getMethod();
System.out.println(method);
String action = invocation.getProxy().getActionName();
System.out.println(action);
/** 放行 */
return invocation.invoke();
}
}
二、配置拦截器
<package name="interception" extends="struts-default" namespace="/interception">
<interceptors>
<interceptor name="custom" class="interceptors.CustomInterceptor"></interceptor>
</interceptors>
<action name="hello" class="interceptors.Interception">
<!--使用自定义拦截器-->
<interceptor-ref name="custom"></interceptor-ref>
<result>/index.jsp</result>
</action>
</package>
三、解决用自定义拦截器以后,默认拦截器不起作用
<package name="interception" extends="struts-default" namespace="/interception">
<interceptors>
<interceptor name="custom" class="interceptors.CustomInterceptor"></interceptor>
</interceptors>
<action name="hello" class="interceptors.Interception" method="hello">
<interceptor-ref name="custom"></interceptor-ref>
<!--同时配上默认拦截器-->
<interceptor-ref name="defaultStack"></interceptor-ref>
<param name="name">456</param>
<result>/index.jsp</result>
</action>
</package>