jsp - 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}
.
偶尔会出现这种情况,页面空闲时间过长,点击了按钮,但有时没有超时。
没有简单的方法来调试或调查,有什么提示吗?这不能一致地复制。
解决方案
推荐阅读
- azure - Azure devops 在一段时间内更改了工作项列表
- java - 如何更改代码并使用 stream() 代替函数式编程?
- database - 将绑定表单中的输入数据保存到表格中
- postgresql - 是否可以使用 JetBrains DataGrip 对表进行分区?(PostgreSQL)
- python - Plotly:按值对堆积条形图的 y 轴条进行排序
- amazon-web-services - 从另一个 AWS 账户复制 S3 存储桶的最快且最具成本效益的方法
- javascript - 在 ReactJS 中处理 set/removeAttribute 和添加 classList 的更好方法
- vb.net - 如何找出我的共享功能
- r - 在 Shiny 中将矢量元素拆分为单独的行
- python - 为什么我的段树无法及时运行?