1. 程式人生 > >JSP實現選中刪除功能

JSP實現選中刪除功能

選中刪除


          1.實現所使用到的技術:


                               JavaScript做的複選框的“全選和全不選功能”;

                               form表單提交;

                               使用Bootstrap框架,在超連結按鈕做提交按鈕時,使用JavaScript:void(0)使href屬性失效;

                               複選框的預設值value的設定;

                               確認框(提示框)的使用confirm("您確定拋棄我們嗎?")。

           2.核心程式碼:  

  
                    
           全選/全不選        

  function checkAll(obj) {
        var flag = obj.checked;
        //alert(flag);
        var items = document.getElementsByClassName("item");
        for(var i in items){
            items[i].checked=flag;
        }
   }
                               web層

String[] ids = request.getParameterValues("ids");
ContactService contactService = new ContactService();
contactService.delAll(ids);
//刪除成功後,重定向 查詢所有聯絡人資訊
response.sendRedirect(request.getContextPath()+"/findAll");


                              service層

public void delAll(String[] ids) throws Exception{
    //1.獲取連線池物件
    DataSource dataSource = JDBCUtils.getDataSource();
    //2.建立jdbcTemplate例項 // template從連線池中獲取一個連線 conn1
    JdbcTemplate template = new JdbcTemplate(dataSource);

    //3.啟動事務管理器(將conn和當前執行緒做繫結)
    TransactionSynchronizationManager.initSynchronization();
    //4.獲取連線 : 獲取JdbcTemplate所使用的連線物件
    Connection conn = DataSourceUtils.getConnection(dataSource);  // conn1
    try {
        //5.將連線的事務,設定為手動事務提交
        conn.setAutoCommit(false);

        //===== 業務處理
        for(String id:ids){ // [1,2,....]
            contactDao.delById(id,template);
        }

        // 提交事務
        conn.commit();
    } catch (Exception e) {
        e.printStackTrace();
        // 事務回顧
        try {
            conn.rollback();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
        // 將異常拋給呼叫者,告知執行失敗
        throw e;
    } finally {
        // 將conn物件和當前執行緒解除繫結
        TransactionSynchronizationManager.clearSynchronization();
        // 修改為自動事務提交
        try {
            conn.setAutoCommit(true);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
                             Dao層

String sql="delete from contact where id=? ";
template.update(sql,id);