我在創建包含在當前對象中的默認值時出現問題。默認值在提交後仍然存在
值在現場設置正確,但是當我提交表單,默認值是仍然存在,即使用戶選擇列表中的其他值...
這裏是我的控制器:
@RequestMapping(method = RequestMethod.GET)
public String createForm(final ModelMap modelMap){
User user;
user = new User();
user.setGroup("HelpDesk");
user.setName("John");
ArrayList<String> groupList = new ArrayList<>();
groupList.add("Admin");
groupList.add("HelpDesk");
groupList.add("GroupManager");
groupList.add("Others");
modelMap.addAttribute("user", user);
modelMap.addAttribute("groupList", groupList);
return "/user/user-add";
}
@RequestMapping(method = RequestMethod.POST)
public String createUser(@ModelAttribute("user") final User user, BindingResult result) {
userValidator.validate(user, result, groupList);
logger.info(user.getGroup()); //Will print "HelpDesk,Admin" for instance
return "...";
}
這裏是我的JSP:
<table>
<form:form method="POST" modelAttribute="user">
<tr>
<td>Name:</td>
<td><form:input path="name"/></td>
<td><form:errors path="name" cssClass="error" /></td>
</tr>
<tr>
<td>Group:</td>
<td><form:select path="group" items="${groupList}" multiple="single"/></td>
<td><form:errors path="group" cssClass="error" /></td>
</tr>
<tr>
<td colspan="3"><input type="submit" /></td>
</tr>
</form:form>
</table>
例如,如果我在選擇列表中選擇「管理」,我會的財產「組」,在得到「服務支持,管理」我用戶提交後形式...
我做錯了什麼?
感謝您的幫助!
你有沒有考慮在列表的開頭添加一個空白字段?或者這對你來說會是一個醜陋的解決方法? :) – GGrec
使用Firebug或Chrome開發者工具,你能找到從瀏覽器發佈的價值嗎? –
@GGeorge這不是那麼難看,但我想明白爲什麼它目前沒有工作 – user1901206