SSM整合-03 資訊新增、修改與刪除
阿新 • • 發佈:2018-11-12
專案完整實現程式碼下載地址:https://download.csdn.net/download/bingbeichen/10578683。
該部分主要實現新員工資訊的新增,實現步驟包括:
- 在index.jsp頁面點選“新增”按鈕,彈出新增對話方塊;
- 向資料庫中查詢全部部門名稱列表,顯示在對話方塊中;
- 輸入新員工資料,並進行校驗(jQuery前端校驗、Ajax姓名重複校驗、重要資料後端JSR303校驗、資料表唯一性約束);
- 完成儲存操作。
其中,新增員工的模態框如下所示:
注意:前端需要校驗員工姓名與郵箱格式的正確性以及姓名是否衝突,後端採用JSR303校驗
該部分主要實現現有員工資訊的修改,實現步驟包括:
- 在index.jsp頁面點選“編輯”按鈕,彈出編輯對話方塊;
- 向資料庫中查詢全部部門名稱列表,顯示在對話方塊中;
- 向資料庫中查詢當前員工的詳細資訊,顯示在對話方塊中;
- 修改當前員工的郵箱、性別和部門資訊,校驗郵箱格式是否合法;
- 點選“更新”按鈕,完成儲存操作。
注意:
//傳送PUT請求,儲存資訊 $.ajax({ url : "${WEB_PATH}/emp/" + $(this).attr("emp_id"), /* type : "POST", data : $("#update_emp_modal form").serialize() + "&_method=PUT", */ /** * 血案:請求體中含有資料,但處理器目標方法的入參中封裝不上 * Employee [id=1, lastName=null, gender=null, email=null, deptId=null] * 原因: * 1).Tomcat會將請求體中的資料封裝為一個Map物件 * 2).request.getParameter("lastName")就會從這個Map物件中取值 * 3).SpringMVC封裝POJO時,會採用request.getParameter()的方式 * * 結論:Tomcat針對AJAX所傳送的PUT請求不會封裝請求體中的資料。 * 解決方案: * 1).使用POST請求,在請求體資料中新增&_method=PUT,即 * type : "POST", * data : $("#update_emp_modal form").serialize() + "&_method=PUT", * 2).使用SpringMVC提供的HttpPutFormContentFilter過濾器即可。 */ type : "PUT", data : $("#update_emp_modal form").serialize(), success : function(result){ // 關閉模態框 $("#update_emp_modal").modal("hide"); // 回到修改員工所在的頁面 to_page(currentPage); } });
該部門主要實現員工的單個刪除與批量刪除操作,處理器的目標方法如下:
/**
* 批量刪除 + 單個刪除
* 批量刪除:/emp/{ids},ids=1-2-3
* 單個刪除:/emp/{ids},ids=1
* @param ids
* @return
*/
@RequestMapping(value="/emp/{ids}", method=RequestMethod.DELETE)
@ResponseBody
public Message handleDeleteEmps(@PathVariable("ids") String ids) {
if(ids.contains ("-")) {
List<Integer> idsList = new ArrayList<Integer>();
String[] ids_str = ids.split("-");
for(String id : ids_str) {
idsList.add(Integer.parseInt(id));
}
employeeService.deleteBatch(idsList);
} else {
Integer id = Integer.parseInt(ids);
employeeService.deleteEmpById(id);
}
return Message.success();
}
總結:
- 前端頁面採用Bootstrap快速搭建;
- 前端頁面傳送Ajax請求給伺服器,採用JS解析伺服器返回的JSON字串,並顯示在頁面上;
- Tomcat伺服器中的SSM-CRUD專案,採用SpringMVC前端控制器接收頁面請求;
- 若請求可以處理,則交給Controller - Service - Dao(XxxMapper) - SQL對映檔案 - 訪問資料庫;
- 若請求無法處理,則將請求交給Tomcat伺服器進行處理,如獲取靜態資源等;
- 使用Spring容器管理SSM-CRUD專案,並使用Maven實現依賴管理與專案構建。