[英]Spring mvc miss id of dependent collection when combine form object from jsp
我有以下控制器返回視圖:
@RequestMapping(value = "/admin/adminUsers", method = RequestMethod.GET)
public String adminUsers(ModelMap model, HttpSession session) {
Set<TerminalAdmin> users = terminalAdminService.getAllAdmins();
session.setAttribute("users", users);
model.addAttribute("adminRoles", terminalAdminService.findAllAdminRoles());
model.addAttribute("terminalAdmin", new TerminalAdmin());
model.addAttribute("generatedPassword", PasswordUpdateStatus.generatePassword());
return "admin/adminUsers";
}
terminalAdminService.findAllAdminRoles()
返回帶有id的集合:
在jsp上我渲染它像這樣:
<form:form modelAttribute="terminalAdmin" action="/admin/addNewAdmin">
...
<form:checkboxes items="${adminRoles}" path="adminRoles"/>
...
</form:form>
我有以下控制器來接受這個對象:
@RequestMapping(value = "/admin/addNewAdmin")
public String adminUsers(@ModelAttribute @Valid TerminalAdmin terminalAdmin...){
....
}
在調試中我看到terminalAdmin
帶有adminRoles而沒有id。
如何解決這個問題?
PS
我更喜歡使用轉換器 ,因為對我來說它更干凈
你應該有類似以下的東西:
public class StringToAdminRoleConverter implements Converter<String, AdminRole> {
@Autowired
TerminalAdminService terminalAdminService;
@Override
public AdminRole convert(String role) {
return terminalAdminService.findRoleByName(role);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.