JSPページによる一括削除の実現

5088 ワード

この機能を実現する基本的な考え方は以下の通りである:1:jspページで削除対象のIDを取得し、1つ以上、ロットはもちろん複数である2:actionでこれらのIDを受信し、これらのIDに対して初歩的な処理を行う3:実装層でデータベースの操作を行う
ステップ1:jspページでjqueryでオブジェクトのIDを取得する

      
        
        
        
          
       
      



    

    " class="np">
    
    
    
    
    
      


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

  • ここではstruts 2ラベルでデータを反復する出力
    jquery全選択コード:
    $("#selectall").click( 
            function(){ 
            if(this.checked){ 
            $("input[name='atask']").each(function(){this.checked=true;}); 
            }else{ 
            $("input[name='atask']").each(function(){this.checked=false;}); 
            } 
            } 
            );
    
    });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

  • jquery削除ボタンをクリックすると、IDの取得、actionにジャンプします.
    function check() {
    
            var msg = "         ?";   
            if (confirm(msg)==true){   
                var allcheckbox = "";
                var becheckbox = "";
                $("input[name=atask]").each(function(){ //  table    checkbox
                    allcheckbox += $(this).val() + ","; //    checkbox  
                    if($(this).attr("checked")) //     
                        becheckbox += $(this).val() + ","; //       
                });
    
                if(becheckbox.length > 0) //     
                    becheckbox = becheckbox.substring(0, becheckbox.length - 1); //         
                    window.location = "astask_batch_delete.action?checkTnum="+becheckbox;
            }else{   
            return false;   
            }   
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

  • 次にactionでデータを受信します.
    private String checkTnum;
        public String getCheckTnum() {
            return checkTnum;
        }
    
        public void setCheckTnum(String checkTnum) {
            this.checkTnum = checkTnum;
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

  • 一括削除の方法:
    public String batch_delete(){
            String [] checkedNums = checkTnum.split(",");
            adminService.batchDeleteStask(checkedNums);
            return "batch_delete";
        }
  • 1
  • 2
  • 3
  • 4
  • 5

  • これは、受信したIDを処理し、サービス層を呼び出すバッチ削除方法です.
    @Transactional
        public void batchDeleteAsk(String [] anums){
             String hql = "";
                for(int i=0;i
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

  • これはhqlクエリ文のパッチワークを行い,まず長さを判断し,IDが1つしかない場合は1つ削除し,複数の場合は複数削除でき,hibernate出力のクエリ文をバックグラウンドで見ることができ,orで各IDを接続する条件である.
    次にadminインタフェースで一括削除の方法を定義します
    //      
        public void batchDelete(final String hql,String[] anums);
  • 1
  • 2

  • 次に、データベースを実装する文を示します.
    @Override
        public void batchDelete(String hql,String[] anums) {
            Session session=sessionFactory.getCurrentSession();
            Query query=session.createQuery(hql);
            query.executeUpdate();
    
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

  • ここでは、JDBCのローカル文で実現することもできますが、ここまでで、この機能は基本的に完成しています.
    ----------------------本文はaouixhのCSDNブログから来て、全文の住所はクリックしてください:https://blog.csdn.net/aouixh/article/details/46057893?utm_source=copy