struts2 url 传值收不到,由过滤器引起,但我不知道为什么
这是url:
newsSaveOrUpdate.action?op=save&id=9
action 里面有op和id的get.set方法
在页面上得到op 和id的值都是空
通过调试发现只调用了get方法,set方法没被调用
找了好久,发现是过滤器引起的,删了过滤器配置就可以
<interceptors> <!-- 定义结果转发拦截器 --> <interceptor name="opResult" class="util.web.OpResultInterceptor"> </interceptor> <!-- 定义默认拦截器 --> </interceptors> <default-interceptor-ref name="opResult" />
@Override public String intercept(final ActionInvocation arg0) throws Exception { final String methodName = arg0.getProxy().getMethod(); final Class actionClass = arg0.getAction().getClass(); System.out.println(methodName); final Method method = actionClass.getMethod(methodName); [del]if (method.getAnnotation(OpResultToResultPage.class) != null) { // System.out.println("in"); final OpResultBean opResultBean = new OpResultBean(); final HttpServletRequest request = (HttpServletRequest) arg0 .getInvocationContext().get(StrutsStatics.HTTP_REQUEST); final String Page1 = request.getHeader("Referer"); opResultBean.setReferer(Page1); LocaleThreadTool.set("opResult", opResultBean); final String actionResultString = arg0.invoke(); if (ObjectUtils.isEmpty(opResultBean.getResult())) { opResultBean.setResult(actionResultString); } return "result"; }[/del] return arg0.invoke(); }