Geçerli nesnedeki varsayılan değerle oluştururken bir sorunum var.Varsayılan değer, gönderildikten sonra hala seçili
değerinin doğru alanında ayarlanan ama formu göndermek zaman, varsayılan değer kullanıcı listesinde başka bir değer seçse bile hala orada olduğunu ... İşte
benim denetleyicisi geçerli:@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 "...";
}
Ve işte benim JSP aşağıdaki gibidir: i seçim listesinde "Yönetici" seçim i malı "grubu" içinde "Yönetici HelpDesk'i" alırsınız eğer örneğin
<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>
benim kullanıcı gönderdikten sonra form ...
Neyi yanlış yapıyorum?
Yardımlarınız için teşekkürler!
Listenin başında boş alan eklemeyi düşündünüz mü? Yoksa bu senin için çirkin bir çözüm olabilir mi? :) – GGrec
Firebug veya krom geliştirici araçlarını kullanarak, tarayıcıdan gönderilen değeri bulabilir misiniz? –
@GGeorge o kadar da çirkin değil, ama neden şu anda – user1901206