用户管理的设计--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          级联删除

时间: 2024-12-13 04:56:46

用户管理的设计--8.批量用户信息删除的相关文章

用户管理的设计--2.新增用户信息实现

页面效果 1.点击[添加用户] 2.弹出新界面,用于添加新的用户信息 实现步骤 1.Action类设计 (1)添加add()方法,用于加载数据字典,完成下拉选项的初始化,并跳转到新增页面 /** * @Name: add * @Description: 弹出添加用户窗口 * @Parameters: 无 * @Return: String:跳转到system/userAdd.jsp */ public String add(){ //加载数据字典,遍历性别,职位,所属单位,是否在职 this.i

Solaris用户管理(一):用户与组管理

2008-07-01 09:19 用户管理是系统管理的基础.Solaris中不但支持传统Unix所支持的用户和组的概念,还从Solaris 8开始引入了基于角色的访问控制(RBAC),提供了一种更加安全.灵活的方式来进行权限分配和管理. 先看看Solaris下的基本用户管理.(详细的资料可以自行查阅man手册) Solaris 下的基本用户管理体系包括/etc目录下的passwd.group和shadow三个配置文件,以及useradd.usermod.userdel. passwd.group

用户管理架构设计

转自:http://virusswb.blog.51cto.com/115214/1111442 今天给大家分享的是:用户管理模块 或者说用户管理子系统如何设计,包括如何抽象以及相关的存储. 大部分的应用中都会有用户的概念,除非你的网站全部是匿名访问,不保存用户任何信息.其实这也是不好的,因为你的网站如果没有用户的概念,没有设计用户模块,就很难收集用户信息及用户行为,也就很难有数据来分析用户的喜好,也就少了一条给用户提供更好服务的途径. 现在是web2.0的时代,甚至是web3.0,用户越来越在

菜单管理,权限管理,用户管理界面设计

提出问题! 1每个界面需要展示哪些问题? 1.1以哪种方式展示? 每个界面会进行哪些操作? 好了,带着问题进行思考,进行设计 .先来简单的用户管理界面来说,我需要展示用户(管理员)的信息. 方式是:表格形式,需要进行的是对用户的增加,删除,修改 ,模糊查询,以及赋予角色权限. 在菜单管理界面,我需要展示该用户所能操作的菜单详情,分别展示top 菜单 和top 菜单下的子菜单,和菜单项详情 ,在子菜单 的div 内添加 右键事件,在top 里面有一个新增,修改按钮,菜单项详情不可编辑,新增时弹出d

用户管理的设计--4.jquery的ajax实现登录名的校验

页面效果 鼠标失去焦点时,不需要刷新页面进行校验,判断登录名是否重复. 实现步骤 1.引入struts2-json-plugin-2.5.10.1插件包 2.页面使用jquery的ajax实现后台校验js /**校验登录名是否出现重复*/ function checkUser(o){ //alert(o.value);//dom的写法 //alert($(o).val());//jquery的写法 var logonName = $(o).val(); //以登录名作为查询条件,查询该登录名是否

用户管理的设计--6.文件下载的两种方式

页面效果 实现步骤 1.Jsp页面要求 <TD class="ta_01" align="center" bgColor="#f5fafe">附件(下载):</TD> <TD class="ta_01" bgColor="#ffffff" colSpan="3"> <s:if test="elecUserFiles!=null &

linux用户管理(2)----修改用户模式(usermod,sudo权限等)

修改使用者模式可以使用usermod命令实现. 一.usermod常用命令介绍: -a:              仅和-G一块使用,将用户添加到附属组群. -d:          修改用户登入时的目录,例如一般的用户登录时,默认进入预先设定的主目录,某些时候为了方便登录时就需要进入比较复杂的路径时,可以使用这个选项设置进入时目录. -g:           修改用户所属群组. -G:           修改用户所属的附加群组:在改变用户sudo权限时就可以使用这个选项. -s:    

django 用户管理(3)--编辑用户 and 修改用户密码

编辑用户 1.点击编辑按钮 流程:(1).禁用编辑的herf,避免跳转到其他网页href="javascript:void(0)" (2).需要给"编辑"按钮添加class 为btn-update-user(3).编辑js ===>点击编辑按钮时 发生的事件为:1.将id传给服务器.2.返回数据显示 ===>ajax先取得id的值var id = jQuery(this).attr('update-id'); var form = jQuery('.fo

设备资源管理系统-用户管理

设备资源管理系统-用户管理 数据库设计 用户信息: 蜀国: 刘备(admin/admin),赋予超级管理员的角色. 12月1日,录入关羽的信息. 12月2日,录入张飞的信息 12月5日,张飞电话号换了,更新张飞的信息(诸葛亮更新) 2022,张飞退休了,删除张飞的信息. 特点: 是否删除:控制用户“假删除”字段. 初始状态是0,如果退休或者离职的时候设置是否删除字段为1. 注意: 1.在查询在职或者未退休的人员的时候,需要添加 where 是否删除=0. 2.如果查询已退休人员的时候,需要添加