我遇到了以下问题,我有两个班级Student和Faculty,Student有一个Faculty字段。问题是:我怎样才能将这种形式的对象准确地传递给 Student 类对象的教师字段?
P。 S.模型属性“faculties”包含所有类型faculties的对象列表。
<%--@elvariable id="student" type="org.oskirko.spring.Models.Entities.Student"--%>
<form:form action="/add_new_student" modelAttribute="student">
Name: <form:input path="name"/>
<br><br>
Surname: <form:input path="surname"/>
<br><br>
Avg. grade <form:input path="averageGrade"/>
<br><br>
Faculty
<form:select path="faculty">
<%--@elvariable id="faculties" type="java.util.List"--%>
<form:options items="${faculties}" itemLabel="name" itemValue="id"/>
</form:select>
<input type="submit" value="Add">
</form:form>
我最初尝试简单地传递教师姓名列表,但如果我从 select 中选择一行,则会使用我选择的教师名称创建一个新对象(据我了解,这是由于参数绑定),并且我不需要创建新对象,但对于学生来说,现有的师资力量得到了巩固。
您将 itemValue 定义为
id
,因此似乎将相应的选择路径更改为 faculty.id
更合理。代码片段如下。
<form:select path="faculty.id">
<%--@elvariable id="faculties" type="java.util.List"--%>
<form:options items="${faculties}" itemLabel="name" itemValue="id"/>
</form:select>