0

Spring MVC 支持对 javabean 的请求参数。但是当我想绑定boolean时,它仍然无法在 javabean 中工作。

如果控制器中的代码是:

public void test(@RequestParam(value="isCheck") boolean isCheck)

我可以获得isCheck布尔值。

但是当控制器中的代码是:

public void test(TestVO testVO)

TestVO javabean:

public class TestVO {

private boolean isPrecheck;

public boolean isPrecheck() {
    return isPrecheck;
}

public void setPrecheck(boolean isPrecheck) {
    this.isPrecheck = isPrecheck;
}
}

我无法将请求参数设置为此 Javabean。

有人有想法吗?

4

2 回答 2

1

您可以使用 Spring 的 PropertiesEditor。

http://static.springsource.org/spring/docs/3.2.x/javadoc-api/org/springframework/beans/propertyeditors/CustomBooleanEditor.html

在您的控制器中创建一个方法来设置编辑器

public void initBinder(WebDataBinder binder) {

      binder.registerCustomEditor(Boolean.class, new CustomBooleanEditor(allowEmpty???));

}
于 2013-05-08T02:47:08.450 回答
0

这是由于布尔命名约定及其 getter 方法的相关歧义。将您的布​​尔值从isPrecheck重命名为precheck,它将起作用。

于 2016-04-29T13:30:58.900 回答