使用struts2和Pager Taglib2,在JSP中有一个变量pager.offset,如下所示:
<input type="hidden" name="pager.offset" value="<%= offset %>">运行的时候,struts2出现一个警告:
Warn: ParametersInterceptor - [setParameters]: Unexpected Exception caught
setting 'pager.offset' on 'class test.TestAction: Error setting
expression 'pager.offset' with value '[Ljava.lang.String;@16b69d7'请问在struts2的Action中如何设置'pager.offset'方法?
谢谢!
<input type="hidden" name="pager.offset" value="<%= offset %>">运行的时候,struts2出现一个警告:
Warn: ParametersInterceptor - [setParameters]: Unexpected Exception caught
setting 'pager.offset' on 'class test.TestAction: Error setting
expression 'pager.offset' with value '[Ljava.lang.String;@16b69d7'请问在struts2的Action中如何设置'pager.offset'方法?
谢谢!
public Pager getPager() {
return pager;
}
pager里写setOffset()
public void setOffset(int offset) {
this.offset = offset;
}
return pager;
} 请问一下Pager类是引入的哪个类?包名是什么?是Pager Taglib2带的吗?谢谢!
封装jsp pager中的参数...试一下后再回复..稍等
在struts2.1.6里面,如果请求参数是*.*的形式
貌似都会把前面的当成bean而后面的则是bean的属性
像楼上的这个解决方法貌似也行
但是如果你的系统里有很多这种参数
那你不是要创建很多的bean了,但是这个bean的作用也仅仅是为了解决这个异常,而没有其他的用处
个人觉得也不可取
理想的解决方法我也在等待ing...
----------------------------------------------------
2011-8-29 17:28:52 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
警告: Error setting expression 'pager.offset' with value '[Ljava.lang.String;@c02d83'
ognl.OgnlException: target is null for setProperty(null, "offset", [Ljava.lang.String;@c02d83)
重点来了,BaseAction再去实现ParameterAware,这样就会重写public void setParameters(Map<String, String[]> parameters)方法,你就在这个方法里写多一句话,parameters.remove("pager.offset");就可以去除掉了,或者你可以先取得这个值,然后换个key,再把取得的值放回去就可以了。我的是用过滤器获取后放到ThreadLocal里面让其它值取的,所以直接remove掉就行了。