获取 OgnlValueStack 错误设置表达式"6578706f7274",值为"[Ljava.lang.String;@1afb661"



我正在使用displayTag with struts2进行分页和导出选项,分页效果很好,但是当我单击导出链接时,它在控制台上显示错误/警告消息。

            16:29:23,171 WARN  [OgnlValueStack] Error setting expression '6578706f7274' with value '[Ljava.lang.String;@1afb661'
            ognl.ExpressionSyntaxException: Malformed OGNL expression: 6578706f7274 [ognl.ParseException: Encountered " <INT_LITERAL> "7274 "" at line 1, column 9.
            Was expecting one of:
            <EOF> 
            "," ...
            "=" ...
            "?" ...
            "||" ...
            "or" ...
            "&&" ...
            "and" ...
            "|" ...
            "bor" ...
            "^" ...
            "xor" ...
            "&" ...
            "band" ...
            "==" ...
            "eq" ...
            "!=" ...
            "neq" ...
            "<" ...
            "lt" ...
            ">" ...
            "gt" ...
            "<=" ...
            "lte" ...
            ">=" ...
            "gte" ...
            "in" ...
            "not" ...
            "<<" ...
            "shl" ...
            ">>" ...
            "shr" ...
            ">>>" ...
            "ushr" ...
            "+" ...
            "-" ...
            "*" ...
            "/" ...
            "%" ...
            "instanceof" ...
            "." ...
            "(" ...
            "[" ...
            <DYNAMIC_SUBSCRIPT> ...
            ]
            at ognl.Ognl.parseExpression(Ognl.java:112)
            at com.opensymphony.xwork2.ognl.OgnlUtil.compile(OgnlUtil.java:225)
            at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:209)
            at com.opensymphony.xwork2.ognl.OgnlValueStack.trySetValue(OgnlValueStack.java:173)
            at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:160)
            at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:151)
            at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:288)
            at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:199)
            at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
            at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:270)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
            at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
            at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
            at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498)
            at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
            at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
            at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
            at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
            at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
            at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
            at java.lang.Thread.run(Thread.java:662)

这是生成Excel报告

的动作URL
            xyz.action?
            paramBean.st=02-07-2012+00%3A00
            &paramBean.type=0
            &paramBean.et=04-07-2012+00%3A00
            &paramBean.did=294
            &6578706f7274=1
            &didSearch=Rishin-Scorpio
            &paramBean.ust=1341167400
            &d-49216-e=2
            &go=GO
            &paramBean.uet=1341340259

根据我的说法,该问题可能是URL中的6578706F7274,它们映射为OGNL中的对象。请让我知道怎么了

实际上,我怀疑您的实际请求URL 真的包含

  &6578706f7274=[Ljava.lang.String;@1afb661

...就像例外消息所说的一样。

,如果您试图通过在其上调用Object.toString()String[]对象转换为字符串,则会得到类似的东西。查看您要在何处创建请求的代码,并检查是否使用正确的对象类型来提供该请求参数的值。

相关内容

最新更新