struts2拦截器问题?

Laughing 2008-07-19 09:06:36
继承了MethodFilterInterceptor的拦截器中,<param name="includeMethods"></param>和<param name="excludeMethods"></param>可以设置该拦截器拦截和不被拦截的方法;但我通过配置发现,该拦截器只能拦截execute方法和不拦截execute方法,对于其他的方法如果进行配制则没有任何效果?
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenhongxin 2008-07-19
  • 打赏
  • 举报
回复
观注中.............
胡矣 2008-07-19
  • 打赏
  • 举报
回复
1.Struts2提供MethodFilterInterceptor类,该类是AbstractInerceptor的子类,可以实现对Action方法的拦截.
2.MethodFilterInterceptor中有两个方法
 setExcludeMethods:排除需要过滤的方法
setIncludeMethods:设置需要过滤的方法
如果一个方法同时在excludeMethods和includeMethods中出现,则会被拦截
3.实现拦截器

package com.interceptor;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;

public class LogInterceptor extends MethodFilterInterceptor {

private static final long serialVersionUID = 1L;

private String name;

@Override
protected String doIntercept(ActionInvocation actionInvocation) throws Exception {

System.out.println("拦截器名称:" + name);
System.out.println("action:" + actionInvocation.getAction());

return actionInvocation.invoke();
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}



action

package com;
public class ManageAction {
public String execute(){
System.out.println("execute....");
return "succee";
}

public String search(){
System.out.println("search....");
return "succee";
}
public String add(){
System.out.println("add....");
return "succee";
}
}

struts.xml

<action name="manage" class="com.ManageAction">
<interceptor-ref name="log"><BR>
<param name="name">日志拦截</param>
<!-- 设置需要拦截的方法,指定多个方法以逗号隔开 -->

<param name="includeMethods">execute,add</param>
<!-- 设置不需要拦截的方法,execute在includeMethods中同时存在,execute会被拦截 -->
<param name="excludeMethods">search,execute</param>
</interceptor-ref>
<result name="succee">/welcome.jsp</result>
</action>

nighthawk 2008-07-19
  • 打赏
  • 举报
回复
缺省的拦截器是不是被你当前的给覆盖了。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧