SSH註解框架實現批量刪除功能
阿新 • • 發佈:2018-12-10
一、UserDao.java
/**
* 批量刪除使用者
* @param ids 使用者Id陣列
* @return
*/
boolean delUserForBatch(Integer[] ids);
二、UserDaoImpl.java
@Override public boolean delUserForBatch(Integer[] ids) { // TODO Auto-generated method stub String sql = "delete from User where id in (:ids)"; Query query = sessionFactory.getCurrentSession().createSQLQuery(sql); query.setParameterList("ids", ids); int jieguo= query.executeUpdate(); if (jieguo>0) { return true; }else { return false; } }
三、UserBiz.java
/**
* 批量刪除使用者
* @param ids 使用者Id陣列
* @return
*/
boolean delUserForBbatch(Integer[] ids);
四、UserBizImpl.java
@Override
public boolean delUserForBatch(Integer[] ids) {
// TODO Auto-generated method stub
return userDao.delUserForBatch(ids);
}
五、UserAction.java
//接收使用者集合的陣列 private Integer[] ids; public Integer[] getIds() { return ids; } public void setIds(Integer[] ids) { this.ids = ids; } //批量刪除使用者方法(前端呼叫) @Action(value = "delUserForBatch", results = { @Result(name = "success", type = "json") }) public String delUserForBatch() { String result = "no"; boolean flag = userBiz.delUserForBatch(ids); if (flag) { result = "ok"; } else { result = "no"; } //轉換為json convertToJson(result); return SUCCESS; } public static void convertToJson(String str) { try { HttpServletResponse response = ServletActionContext.getResponse(); response.setCharacterEncoding("utf-8"); response.setContentType("text/html; charset=UTF-8"); PrintWriter writer = response.getWriter(); writer.write(str); writer.flush(); writer.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
六、Jsp頁面
<table> <tr> <th><input id="all" type="checkbox" /></th> <th>標準號</th> <th>中文名稱</th> <th>版本</th> <th>釋出日期</th> <th>實施日期</th> <th>操作</th> </tr> <c:forEach items="${stdList }" var="std"> <tr> <td><input name="id" type="checkbox" value="${std.id }" /></td> <td>${std.std_num }</td> <td>${std.zhname }</td> <td>${std.version }</td> <td> <fmt:formatDate value="${std.release_date }" pattern="YYYY-MM-dd" /> </td> <td> <fmt:formatDate value="${std.impl_date }" pattern="YYYY-MM-dd" /> </td> <td> <a href="${std.package_path }" target="_blank">下載</a> <a href="edit.html?id=${std.id }">修改</a> </td> </tr> </c:forEach> </table> <button id="del">批量刪除</button> <script type="text/javascript" src="statics/js/jquery-1.12.4.js"></script> <script type="text/javascript"> //全選 var oall = document.getElementById("all"); var oid = document.getElementsByName("id"); oall.onclick = function() { for(var i = 0; i < oid.length; i++) { //所有的選擇框和全選一致 oid[i].checked = oall.checked; } }; //點選複選框 for(var i = 0; i < oid.length; i++) { oid[i].onclick = function() { //判斷是否全部選中,遍歷集合 for(var j = 0; j < oid.length; j++) { if(oid[j].checked == false) { oall.checked = false; break; } else { oall.checked = true; } } }; } //點選批量刪除 $("#del").click(function() { var ids = []; // 定義一個使用者Id陣列 $("[name='id']:checked").each(function() { ids.push(this.value); }); if(ids.length == 0) { alert("請至少選擇一項要刪除的資料"); return; } var json = { "ids": ids }; $.get("delUserForBatch.html", json, function(data) { if(data == "ok") { alert("刪除成功!"); //刪除成功後,在這裡執行重新整理 } else { alert("刪除失敗!"); } }); }); </script>