SpringMVC框架中遇到的问题

       今天用SpringMVC+Hibernate结合写了一个两个表员工和部门多对一关系的CRUD,因为员工和部门是多对一的关系,所以在员工的bean对象中我写了private Dept dept;这条属性。

       在添加员工信息的页面,代码如下:

       所属部门: <select name="dept">
                              <c:forEach items="${deptList }" var="dept">
                              <option value="${dept}">${dept.name }</option>
                              </c:forEach>
                          </select><br><br>

        在Controller里面直接以模型驱动的方式将对象信息存储到表中,但是服务器却给我报了一个400的错误,找到了好久,终于明白了原因,是自己大意了。

        首先,员工bean对象中要加入dept必须是持久化状态的,这是错误之一,其次在Jsp页面将dept属性传到Controller里面时,dept将不是一个对象,而是String类型的数据,无法加入到员工bean对象中,所以出现了400错误。

       正确的写法就是将员工对象和部门id传到Controller里面,然后用部门id查出部门对象,这时的对象才是持久化对象,所以才能加入到员工对象中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章