在我的表单中添加 s:checkbox 后,我在 ParamsInterceptor 中收到 OGNL 错误:

WARN  [OgnlValueStack] Error setting expression '__checkbox_filter.findRejected' with value '[Ljava.lang.String;@dc926f'
ognl.OgnlException: target is null for setProperty(null, "findRejected", [Ljava.lang.String;@dc926f)

我知道 Struts2 正确添加了名称中带有下划线的额外隐藏字段 (__checkbox_filter.findRejected)。

但是,我不明白为什么 ParametersInterceptor 试图在我的 Action 上设置这个由 Struts2 添加的属性(显然它不包含“__checkbox_filter”属性)。

看到这个 OGNL 错误来自 Struts2 复选框是正常的吗?我怎样才能避免它?

最佳答案

我刚刚偶然发现了同样的问题。

您需要在拦截器堆栈中的参数拦截器之前放置复选框拦截器。

默认情况下就是这种情况,所以我猜您正在使用自定义堆栈...

关于struts2 - OGNL 异常设置 Struts2 复选框值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6651652/

10-12 04:31