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查出部門對象,這時的對象纔是持久化對象,所以才能加入到員工對象中。

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