使用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'方法?
谢谢!

解决方案 »

  1.   

    action里写getPager()
    public Pager getPager() {
       return pager;
    }
    pager里写setOffset()
    public void setOffset(int offset) {
        this.offset = offset;
      

  2.   

    public Pager getPager() { 
      return pager; 
    } 请问一下Pager类是引入的哪个类?包名是什么?是Pager Taglib2带的吗?谢谢!
      

  3.   

    需要自己写个pager类吧!
    封装jsp pager中的参数...试一下后再回复..稍等
      

  4.   

    我也碰到这个问题了
    在struts2.1.6里面,如果请求参数是*.*的形式
    貌似都会把前面的当成bean而后面的则是bean的属性
    像楼上的这个解决方法貌似也行
    但是如果你的系统里有很多这种参数
    那你不是要创建很多的bean了,但是这个bean的作用也仅仅是为了解决这个异常,而没有其他的用处
    个人觉得也不可取
    理想的解决方法我也在等待ing...
      

  5.   

    遇到同样问题
    ----------------------------------------------------
    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)
      

  6.   

    构建一个pager吧。也可以把action中的一个类改名为pager。
      

  7.   

    我解决了,跟你讲一下吧:你那些Action不是要继承ActionSupport么,你写个所有Action的父类BaseAction来继承ActionSupport,然后所有继承ActionSupport换成继承BaseAction.
    重点来了,BaseAction再去实现ParameterAware,这样就会重写public void setParameters(Map<String, String[]> parameters)方法,你就在这个方法里写多一句话,parameters.remove("pager.offset");就可以去除掉了,或者你可以先取得这个值,然后换个key,再把取得的值放回去就可以了。我的是用过滤器获取后放到ThreadLocal里面让其它值取的,所以直接remove掉就行了。