OGNL异常设置Struts2复选框值

时间:2011-07-11 14:28:12

标签: struts2

在我的表单中添加一个s:复选框后,我在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复选框是正常的吗?我怎么能避免它?

2 个答案:

答案 0 :(得分:4)

我只是遇到了同样的问题。

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

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

答案 1 :(得分:0)

大多数情况下,在这种情况下的错误是我们忘记为属性编写getter和setter。因此,检查吸气剂和制定者是否在他们的位置。