用户管理的设计--8.批量用户信息删除
Posted 一只笨笨鸟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户管理的设计--8.批量用户信息删除相关的知识,希望对你有一定的参考价值。
页面效果
勾选一个或多个用户,或点击全选框,然后单击【批量删除】,弹出确认窗口。确定则删除,取消则不删除:
实现步骤
1.JSP页面的js函数
1.1添加按钮【批量删除】单击事件触发的js函数,有两种实现方式:
1.1 DOM对象实现
DOM对象实现批量删除js
1.2 jQuery对象实现
function deleteAll(){ var $selectuser = $("input[type=checkbox][name=userID]"); var flag = false; $selectuser.each(function(){ if(this.checked){ flag=true; return false;//退出循环 } }) if(!flag){ alert("没有选择执行操作的用户!不能执行该操作"); return false; } else{ var confirmflag = window.confirm("你确定执行批量删除吗?"); if(!confirmflag){ return false; } else{ $("#Form2").attr("action","elecUserAction_delete.do"); $("#Form2").submit(); return true; } } }
1.2添加全选框单击事件触发的js函数,也有两种实现方式
2.1 DOM对象实现
//用户:全部选中/全部不选中 function checkAllUser(user){ var selectuser = document.getElementsByName("userID"); for(var i=0;i<selectuser.length;i++){ selectuser[i].checked = user.checked; } }
2.2 jQuery对象实现
//用户:全部选中/全部不选中 function checkAllUser(user){ $("input[type=checkbox][name=userID]").attr("checked",user.checked); }
2.Action类中添加删除方法
/** * @Name: delete * @Description: 删除用户信息 * @Parameters: 无 * @Return: String 重定向到system/userIndex.jsp */ public String delete(){ elecUserService.deleteUserByID(elecUser); return "delete"; }
3.struts.xml中添加
<result name="delete" type="redirectAction"> <param name="actionName">elecUserAction_home.do</param> </result>
即删除后,重定向到用户管理首页面,相当于刷新了一下。
4.在Service实现类中添加业务方法
/** * @Name: deleteUserByID * @Description: 删除用户信息 * @Parameters: ElecUser VO对象 * @Return: 无 */ @Override @Transactional(isolation=Isolation.DEFAULT,propagation=Propagation.REQUIRED,readOnly=false) public void deleteUserByID(ElecUser elecUser) { //获取获取ID,String userID,如果是多个值,struts2默认采用", "的形式 String userID = elecUser.getUserID(); String[] userIDs = userID.split(", "); if(userIDs!=null&&userIDs.length>0){ //获取每个用户ID for(String uid:userIDs){ //使用ID查询用户对象,获取该用户对应的附件 ElecUser user = elecUserDao.findObjectByID(uid); Set<ElecUserFile> userFiles = user.getElecUserFiles(); //遍历用户附件 if(userFiles!=null&&userFiles.size()>0){ for(ElecUserFile userFile:userFiles){ //获取路径 String path=ServletActionContext.getServletContext().getRealPath("")+userFile.getFileURL(); File file = new File(path); if(file.exists()){ //如果路径存在,删除该用户对应的文件 file.delete(); } } } } } //根据用户id删除用户信息(同时级联删除附件表) elecUserDao.deleteObjectByIDs(userIDs); }
因为用户与附件是一对多的关系,可采用级联操作,删除用户同时也删除附件表,这样比较简便。
5.hbm.xml文件中定义级联
<set name="elecUserFiles" table="Elec_User_File" inverse="true" order-by="progressTime desc" cascade="delete"> .... </set>
这里 order-by=progressTime desc 附件按创建时间递减顺序展示
cascsde=detele 级联删除
以上是关于用户管理的设计--8.批量用户信息删除的主要内容,如果未能解决你的问题,请参考以下文章
⭐基于bootstap-Jquery-JSP-Servlet-mysql⭐博客项目——后台论坛管理demo
基于javaweb的web资源库项目——后台资源管理demo
基于javaweb的web资源库项目——后台资源管理demo
《java精品毕设》基于javaweb宠物领养平台管理系统(源码+毕设论文+sql):主要实现:个人中心,信息修改,填写领养信息,交流论坛,新闻,寄养信息,公告,宠物领养信息,我的寄养信息等(代码片段