我用springmvc做了一个web应用程序,我有3个多对多关系表。讲座——分组。我可以在浏览器中创建新的讲座,但我需要为此讲座设置组。我的想法是用checkbox选择所有组并将它们放入数组中。此外,我会有一个新的演讲和属性组的id数组的id,我会创建几个对象演讲组,并保存到数据库中,但我不知道如何把复选框值数组。我想出了这样的办法。
<body>
<form th:method="POST" th:action="@{/lectures/{id}/addGroups(id=${lectureId})}" th:object="${groupContainer}">
<h2>Choose groups for lecture:</h2>
<ul>
<li th:each="group : ${groups}">
<label th:for="${group.getId()}" th:text="${group.getName()}">Group</label>
<input type="checkbox" th:value="${group.getId()}" th:id="${group.getId()}" th:field=*{groupsId}"/>
</li>
</ul>
<input type="submit" value="Add!"/>
</form>
</body>
控制器设计与方法
@GetMapping("/{id}/addGroups")
public String selectGroups(Model model, @PathVariable("id") int lectureId) {
model.addAttribute("groupContainer", new ArrayList<Integer>());
model.addAttribute("lectureId", lectureId);
model.addAttribute("groups", groupService.getAllGroups());
return "lectures/lecture_groups";
}
@PostMapping("/{id}/addGroups")
public String addGroups(@PathVariable("id") int lectureId, @RequestParam("groupContainer") ArrayList<Integer> selectedGroups) {
for (Integer groupId : selectedGroups){
lectureGroupService.save(new LectureGroup(lectureId, groupId));
}
return "redirect:/lectures";
}
但它不起作用。请给我一个解决这个问题的建议
暂无答案!
目前还没有任何答案,快来回答吧!