1. 程式人生 > 實用技巧 >Springboot+Thymeleaf簡單整合後續問題及完善

Springboot+Thymeleaf簡單整合後續問題及完善

Springboot+Thymyleaf簡單整合——

問題解決及後續功能更新

前文:https://www.cnblogs.com/djhzzl/p/14092783.html

在前後端資料互動時,使用如下方法,當然拼接URL也是可以的。

<a th:href="@{deleteEmployee(employee_id=${employee.employee_id})}"><input type="submit" value="刪除"></a>

Input中的的name屬性與javabean中名字要相同

前端介面中,提交表單form中的input的屬性th:value="${ }"中的屬性名要與Controller的方法中的ModelMap固定的物件的名字相同modelMap.put(" ",);

如Update.html:

th:value="${employee.employee_id}"

//Controller:

EmployeeController.java
modelMap.put("employee",employee);

編輯功能(update)

編輯分析

通用分析:

1. 跳轉到編輯頁面

2. 頁面上顯示所點選條目資訊

3. 修改完成後點選確定,修改資訊

4. 點選修改後,跳轉到原頁面

技術分析:

不能直接在html頁面之間直接傳資料,因為容易缺失資料。

需要通過控制器:

1. 獲取傳過來的id

2. 根據id查詢員工資訊

3. 查詢所有部門資訊

4. 將員工資訊和部門資訊繫結modelMap,傳送到編輯頁面

控制器:

1. 接收表單傳遞的資料;

2. 修改;

(重複工作3-5)

3. 查詢所有部門

4. 查詢該部門下的所有員工

5. 繫結modelMap,傳送到頁面

( 可以使用input type="hidden"隱藏域 儲存id,使id不顯示 )

1,使用關聯查詢,不破壞表結構

此時,在實現編輯功能,前後端資料傳遞時,為了使下拉框表示的 部門名 對應 該職員所在的 部門 (顯示department_name),使用關聯查詢,連線employee和department表。

Employee1Mapper中:

    
    <resultMap id="employeeMap1" type=
"com.djh.demo.bean.Employee"> <id property="employee_id" column="employee_id"/> <result property="employee_name" column="employee_name"/> <result property="employee_age" column="employee_age"/> <association property="department" javaType="com.djh.demo.bean.Department"> <id property="department_id" column="department_id"/> <result property="department_name" column="department_name"/> </association> </resultMap> <select id="selectoneid" resultMap="employeeMap1"> select e.employee_id, e.employee_name, e.employee_age, d.department_id, d.department_name from employee as e inner join department as d on e.department_id = d.department_id where e.employee_id = #{employee_id} </select>
EmployeeMapper.xml

需注意,此時實體類中,呼叫的department_id為department的物件,所以在前端使用department_id時,需要從department物件內呼叫,

注意物件的呼叫

如:

th:selected="${department.department_id}==${employee.department.department_id}?true:false"

2,在javabean加個部門id ,即在員工表加入外來鍵department_id ,儲存刪除操作也會相對簡單,簡單快捷的方法。