Пытаюсь создать предмет обучения, содержащий список преподавателей
У меня есть предмет обучения, который читают несколько преподавателей. Subject содержит поля int subjectID, String subjectName и List teachersList. При создании нового предмета subjectName добавляется корректно, а с добавлением списка учителей путем выбора из уже существующего списка проблема.
Контроллер:
@GetMapping("/addsubjects")
public String newSubject(@ModelAttribute("subject") Subject subject, @ModelAttribute("teachers") Teacher teacher, Model model) {
model.addAttribute("teachers", teacherSI.getTeachersList());
return "subjects/addsubjects";
}
@PostMapping()
public String addSubject(@RequestParam("subjectName") String subjectName, @RequestParam("teachersList") List<Teacher> teachersList) {
Subject subject = new Subject.SubjectBuilder().buildSubjectName(subjectName).buildTeachersList(teachersList)
.build();
subjectSI.addSubject(subject);
return "redirect:/subjects";
}
Вьюшка:
<form th:method="POST" th:action="@{/subjects}" th:object="${subject}">
<div>
<label for="subjectName">Enter subject name:</label>
<input type="text" th:field="*{subjectName}" id="subjectName">
<br>
<label for="subjectTeacher">Select teachers:</label>
<select multiple="multiple" th:object="${teacher}" th:field="*{teachersList}" id="subjectTeacher">
<option th:each="teacher : ${teachers}"
th:field="*{teachersList}"
th:value="${teacher}"
th:text="${teacher.getSecondName()}">teacher</option>
</select>
<br>
<input type="submit" value="Create">
</div>
</form>
На сервере появляется ошибка "Neither BindingResult nor plain target object for bean name 'teacher' available as request attribute"