我使用 Spring MVC(通过 Spring Roo)构建一个用于管理人员的小型 Web 应用程序。在创建人员的页面中,beanPerson
用作表单支持对象(模型映射中的键“person”)。
<form:form action="${form_url}" method="POST" modelAttribute="person">
我想在模型映射中添加一些属性,用户可以在创建表单中更改这些属性。基本上,我尝试添加一个布尔值,以便我可以控制在用户按下提交按钮后接下来显示哪个页面。
我尝试使用一个简单的复选框修改布尔值(模型映射中的键“myBoolean”):
<form:checkbox id="_myboolean_id" path="myBoolean"/>
但是,由于我是 Spring MVC 的新手,我在这里遇到了一些困难。布尔对象不是表单支持对象的属性。因此,如果我尝试访问它,则会引发以下异常(当然):
bean 类 [de.cm.model.Person] 的无效属性“myBoolean”:Bean 属性“myBoolean”不可读或具有无效的 getter 方法:getter 的返回类型是否与 setter 的参数类型匹配?
有没有办法直接访问模型映射的值?我现在能想象的唯一解决方案是一种围绕类的包装对象Person
和我的附加属性,它用作新的表单支持对象。但是,对于恕我直言的简单任务来说,这是更多的工作。你有更好的解决方案吗?