如何在Spring中使用Java对象处理下拉列表?

时间:2020-11-01 23:38:15

标签: spring spring-mvc jsp

我的程序背后的想法是有2个数据库表。程序界面提供了方便的数据添加。该程序应显示一个数据输入表格。字段之一是下拉列表。 我无法为字段属性分配值。 在我看来,我显示的列表不正确。

正在创建的对象的类:

@Entity
@Table(name = "instructor_detail")
public class InstructorDetail {
    ....
    @OneToOne(mappedBy="instructorDetail", cascade=CascadeType.ALL)
    private Instructor instructor;

    public Instructor getInstructor() { return instructor; }

    public void setInstructor(Instructor instructor) { this.instructor = instructor; }
    ....
}

调用JSP的控制器方法:

@RequestMapping("/showInstructorDetailFormAdd")
    public String getInstructorDetailFormAdd(Model theModel){
        // This object will be filled with data
        InstructorDetail instructorDetail = new InstructorDetail();

        // Data from this list must be in the dropdown list
        List<Instructor> instructorList = collegeService.getInstructors();

        theModel.addAttribute("instructorDetail", instructorDetail);
        theModel.addAttribute("instructorList", instructorList);

        return "instructor-details-form";
    }

JSP文件中的部分代码:

<form:form action="/save/saveInstructorDetail" modelAttribute="instructorDetail" method="POST">
        <table>
            <tbody>
            <tr>
                <td><label>Instructor:</label></td>
                <td><%--  Here   ,    look     here     --%>
                    <form:select path="instructor">
                        <c:forEach var="instr" items="${instructorList}">
                            <li>
                                <form:option value="${instr}" label="${instr.first_name} ${instr.last_name}" />
                            </li>
                        </c:forEach>
                    </form:select>
                <td>
            </tr>

            ....

                <td><input type="submit" value="Save" class="save" /></td>
            </tr>
            </tbody>
        </table>
    </form:form>
  1. 没有下拉列表,该代码保存该对象。但是它不链接两个表的对象。符合预期
  2. 据我了解,应该在InstructorDetail类的 instructor 字段中分配我从列表中选择的元素,但是当按下SAVE按钮时,会发生以下错误:< / li>

类型状态报告 说明服务器由于被认为是客户端错误(例如格式错误的请求语法,无效的请求消息框架或欺骗性的请求路由)而无法或将不会处理请求。

可能是什么错误?我显示的列表不正确吗?

0 个答案:

没有答案