我正在尝试在一页上处理三种形式。 我有一个模型“用户”。三种用户页面:管理员,KnownUser,访客。
我创建用户对象并将其添加到我的控制器中的模型中:
model.addAttribute(“ adminUser”,new User());
model.addAttribute(“ knownUser”,新的User());
model.addAttribute(“ guestUser”,新的User());
我的表单如下:
<spring:form method="post" id="adminForm" modelAttribute="adminUser"
action="saveUser.action">
<spring:form method="post" id="adminForm" modelAttribute="knownUser"
action="saveUser.action">
<spring:form method="post" id="adminForm" modelAttribute="guestUser"
action="saveUser.action">
验证方法:
公共ModelAndView saveReport(
@Valid @ModelAttribute(“ adminUser”)用户admin,
@Valid @ModelAttribute(“ knownUser”)用户knownUser,
@Valid @ModelAttribute(“ guestUser”)用户来宾,
BindingResult结果){
//一些逻辑...
}
问题: 当我填写以下三种形式之一时,所有“模型属性”都将获得此值。 例如:当我仅发送名称为“ age”的“ path”-属性的值的“ adminUser”时,值为23。 通过验证,路径属性“年龄”上的所有三种形式的值均为23。 实际上,我已经预料到,只有“ adminUser”模型具有值为23的路径属性“ age”,而模型“ knownUser”和“ guestUser”的路径属性应为“ age”。
我怎么能做到这一点?