二、在后台获取参数时,使用数组获取:
三、进行数组必要的格式转换,再进行sql操作
Jsp 页面
<input type='checkbox' name='chk' id='chk' value="+empId+"> <input type="checkbox" name="allchk" id="allchk" onclick="allCheck(this);"/>全选 <input class="btnBlue mL10 ygDelRow" value="删除" onclick="deleteContactor();" type="button"> <input id="delstrs" value="" type="hidden">
全选按钮的函数
//全选按钮 function allCheck(check){ var checkbox=document.getElementsByName("chk"); if(check.checked){ for(var i=0;i<checkbox.length;i++){ checkbox[i].checked="checked"; } }else{ for(var i=0;i<checkbox.length;i++){ checkbox[i].checked=""; } } }
删除员工的函数
//删除员工 function deleteContactor(){ var empId=""; var sel=document.getElementsByName("chk");//获取checkbox的值 for( var i=0;i<sel.length;i++) if(sel[i].checked==true) empId+=sel[i].value+"~"; if(empId === undefined || empId === ''){ alert("请至少选择一条记录!"); return ; } $("#delstrs").val(empId); $.popup($(".zctjcg")); $('.zctjcg').show(); $('.maskBlack').show(); } //确认删除 function confirmDelete(){ // if(confirm("您确定删除选定的员工信息?")){ var empId= $("#delstrs").val(); var url = GETFRONTUSERSTRING+"doDelEmp.action"; var param = { empId:empId }; try{ new AjaxRequest(url,{ parameters:param, onComplete:function(data){ $(".zctjcg").hide(); $(".maskBlack").hide(); doStaffQuery(); }, onFail:function(){ return false; } }); }catch(e){ alert(e.message); $(".zctjcg").hide(); $(".maskBlack").hide(); return; } }
//后台获取参数
String empId = this.getAjaxParameter("empId"); String [] empIds = empId.split("~");
/** * 获取Get方式的Ajax请求参数解码值 * 实际上就是调用request.getParameter方法获得参数,然后再进行编码转换 */ public String getAjaxParameter(String paramName) { if (paramName == null) { return null; } String value = this.getRequest().getParameter(paramName); String decodedValue = this.getDecodedValue(value); return decodedValue; }
//数据库修改值批量更新
ManagerFactory.getEnterpriseEmpManager().updateEmpStatus(empIds,sessionUser.getUserId());
//dao层方法具体实现
public int[] batchUpdateEmpStatus(final String[] empIds, final String userId) { String sql = "update aes_enterprise_emp p set status = ? ,operator = ? , operatetime = ? where p.enterpriseempid=?"; return this.batchUpdate(sql.toString(), new BatchPreparedStatementSetter() { public void setValues(PreparedStatement ps, int index) throws SQLException { String empid=empIds[index]; ps.setString(1, "0"); ps.setString(2, userId); ps.setTimestamp(3,new Timestamp(new Date().getTime())); ps.setString(4, empid); } @Override public int getBatchSize() { return empIds.length; } }); }
底层dao
protected int[] batchUpdate(String sql, BatchPreparedStatementSetter setter) { logManager.info(this.getClass(), sql); return getJdbcTemplate().batchUpdate(sql, setter); }
//效果图