首页 > 解决方案 > Struts 2 - 格式错误的 OGNL 表达式:{1}() 遇到“”)”(空白表达式)

问题描述

我们有一个 Struts 2 应用程序,它在从页面执行操作时偶尔会失败并出现以下错误,我正在寻找如何调试它的方法:

ognl.ExpressionSyntaxException: Malformed OGNL expression: {1}() 
[ognl.ParseException: Encountered " ")" ") "" at line 1, column 5. 
Was expecting one of: ":" ... "not" ... "+" ... "-" ... "~" ... "!" ... "("       
... "true" ... "false" ... "null" ... "#this" ... "#root" ... "#" ... "[" 
... "{" ... "@" ... "new" ... ... ... "\'" ... "`" ... "\"" ... ... ... ] at 
ognl.Ognl.parseExpression(Ognl.java:112) at 

com.opensymphony.xwork2.ognl.OgnlUtil.compileAndExecuteMethod(OgnlUtil.java:442) at com.opensymphony.xwork2.ognl.OgnlUtil.callMethod(OgnlUtil.java:396) at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:430) at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:290) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251) at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76) at

看起来动作名称没有从{1}.

偶尔会出现这种情况,页面空闲时间过长,点击了按钮,但有时没有超时。

没有简单的方法来调试或调查,有什么提示吗?这不能一致地复制。

标签: jspstruts2

解决方案


推荐阅读