在我的表单中添加一个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复选框是正常的吗?我怎么能避免它?
答案 0 :(得分:4)
我只是遇到了同样的问题。
您需要在拦截器堆栈中的参数拦截器之前放置Checkbox拦截器。
默认情况下是这种情况,所以我猜你正在使用自定义堆栈......
答案 1 :(得分:0)
大多数情况下,在这种情况下的错误是我们忘记为属性编写getter和setter。因此,检查吸气剂和制定者是否在他们的位置。