如果要对action类的指定方法进行拦截,拦截器的类需要继承MethodFilterInterceptor
1.继承MethodFilterInterceptor方法重写doInterceptor方法
//实现doIntercept//这样子还是不能去拦截指定方法
public class Myintercetor extends MethodFilterInterceptor {
public String doIntercept(ActionInvocation invocation) throws Exception {
UserInfo info=(UserInfo)
ServletActionContext.getRequest().getSession().getAttribute("user");
if(info!=null&&!info.getName().equals("")&&!info.getPwd().equals(""))
{
return invocation.invoke();
}
return "login";
}
}
2. 在struts.xml action中配置要拦截的方法和不需要拦截的方法
<action name="dom_*" class="com.sun.action.DomeAction" method="{1}">
<result name="no">/home.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="dem">
<param name="excludeMethods">add</param><!--指定不需要拦截的方法-->
<param name="excludeMethods">up</param>
<param name="includeMethods">del</param><!--指定需要拦截的方法-->
</interceptor-ref>
</action>