1. 程式人生 > >jsp 頁面傳多個id 到java後臺的處理方式

jsp 頁面傳多個id 到java後臺的處理方式

java 開發中經常遇到 jsp 頁面傳多個id 到後臺處理的情況。比如:批量刪除選擇內容等.......

我使用的解決的方法兩種:

jsp 傳多個id:使用easyui datagrid 選擇多行方式

var rows = $("#classids").datagrid('getSelections'); // 選擇多行
var class_id= [];
for(var i=0; i<rows.length; i++){
      class_id.push(rows[i].classid);// 傳id到陣列
}
// 使用 Ajax 傳到後臺
$.ajax({
	    url : "${ctx}/class/selectClass?class_id="+class_id,
	    type : 'post',
	    success:function(data){
	    	layer.closeAll();
	    	if(data.flag==true||data.flag=='true'){
	    		parent.layer.alert(data.msg,{icon: 1, title:'提示'});
	    		selectAll();
	    	}else{
	    		parent.layer.alert(data.msg,{icon: 2, title:'提示'});
	    	}
	    }
	});   	    

  

1:後臺解決方法第一種

直接在後臺Controller 中拆開ids:      

String class_ids= request.getParameter("class_id");// 獲取選擇內容ids

String[] ids= class_ids.split(","); // 拆開 ids

for (int i = 0; i < ids.length; i++) {
  map.put("ids", ids[i]); // 一個一個傳
  sCloudApplyService.updateSchoolApplyStatus(map);// 我這裡是修改狀態,也可以刪除操作等等。根據個人的業務邏輯修改。


}

 

2:後臺解決方法第二種

把多個id不做處理,直接傳到資料庫操作 sql中。

 @RequestMapping(value = "/batch_update_subjectiveuser_score",produces = "application/json;charset=UTF-8")
    @ResponseBody
    public String updateSchoolApplyStatus(@RequestParam(value = "class_id", required = true)List<String> classids   // 一定不要忘了 這個引數:
required = true。含義是:class_id不能為空,若是為空就會提示
    ,HttpServletRequest request, HttpServletResponse response){

    Map<String, Object> map = new HashMap<>();
    map.put("classids",classids);

    sCloudApplyService.updateSchoolApplyStatus(map);// 我這裡是修改狀態,也可以刪除操作等等。根據個人的業務邏輯修改。

}



mysql  sql:修改班級型別
<update id="updateSchoolApplyStatus" parameterType="map">
        update class
        set
          type=1
 		where
 			subject_answer_id in
        <foreach collection="classids" item="ids" open="(" separator="," close=")">
            ${ids}
        </foreach>
    </update>

    

如果有比我這更容易的方法,歡迎在下面留言!!!!!謝謝