zoukankan      html  css  js  c++  java
  • 用户管理的设计--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;
             }
        }
      }
    jQuery实现批量删除的js代码

      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;
          }
       }
    全选/全不选js

        2.2 jQuery对象实现

    //用户:全部选中/全部不选中
    function checkAllUser(user){
          $("input[type=checkbox][name=userID]").attr("checked",user.checked);
      }
    jQuery实现全选/全不选

    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          级联删除

  • 相关阅读:
    ajax
    前端学数据库之子查询
    读书笔记:《HTML5开发手册》Web表单
    阅读《编写可读代码的艺术》笔记
    windows环境下sublime的nodejs插件详细安装图解
    有关css3的一些问题
    前面的话
    gulp思考
    10种排序算法分析
    ajax异步请求
  • 原文地址:https://www.cnblogs.com/zhstudy/p/7163321.html
Copyright © 2011-2022 走看看