选择用户-保存已选用户

1介绍

功能要求:

1 选择用户界面以弹出框方式显示

2 页面选项动态加载(部门及用户)

3 保存勾选的用户

实现分析:

保存已选用户逻辑:

  1. 删除原来已选择的用户记录列表(相当于清空操作)
  2. 添加新选择用户记录列表

页面

 1 保存共享文件
// 保存共享文件
    function shareFile(){
        // 参数
        var signid = chooseObj.id;
        var objtype = chooseObj.type;
        var userlist = "";
        $("input[name=shareUserId]").each(function(){
             // 此时的this 就是那个 html中的 那个checkbox对象。所以通过
             // this.checked 直接访问属性都是可以的
             if($(this).attr('checked')){
                 userlist = userlist+$(this).val()+","
             }
        });
        if(userlist.length>0){
            userlist = userlist.substring(0, userlist.length-1)
        }
        $.ajax({
            url : '../share/shareFile.do',
            //url:'${ctx}/index.jsp',
            cache : false,
            type : 'post',
            dataType : 'html',
            async : false,
            contentType : "application/x-www-form-urlencoded;charset=utf-8",
            data : {
                'signid' : signid,
                'objtype' : objtype,
                'userlist':userlist
            },
            success : function(ret) {
                // 异常处理
                if(ret==3){
                    handleWarm("目标文件夹是自己");
                    return;
                }else if(ret==2){
                    handleWarm("不能移动至子目录");
                    return;
                }
                // closeflowcontent('fxcontentflow');
                refreshThisContent();
            }
        })
    }

页面选项内容html参考(仅供参考,无需实现)

div class="fxtitle">院领导</div>
    <ul class="fxxz">
        <li><input type="checkbox" name="shareUserId" value="xiaolin">肖林 </li>
        <li><input type="checkbox" name="shareUserId"
            value="wangshuotong">王硕佟 </li>
        <li><input type="checkbox" name="shareUserId"
            value="wangshengyang">汪胜洋 </li>
        <li><input type="checkbox" name="shareUserId" value="qifeng">齐峰 </li>
        <li><input type="checkbox" name="shareUserId" value="tangyiwen">唐忆文 </li>
        <li><input type="checkbox" name="shareUserId"
            value="zhanglisheng">张利生 </li>
        <li><input type="checkbox" name="shareUserId" value="zhengshao">郑韶 </li>
    </ul>
    <div class="fxtitle">办公室</div>
    <ul class="fxxz">
        <li><input type="checkbox" name="shareUserId" value="lujianping">陆建平 </li>
        <li><input type="checkbox" checked="true" name="shareUserId"
            value="guoshunlan">郭顺兰 </li>
        <li><input type="checkbox" name="shareUserId" value="fangying">方颖 </li>
        <li><input type="checkbox" name="shareUserId" value="jiaoxiaojun">焦晓君 </li>
        <li><input type="checkbox" checked="true" name="shareUserId"
            value="songweilei">宋维蕾 </li>
        <li><input type="checkbox" name="shareUserId" value="zhangxinmin">张新民 </li>
        <li><input type="checkbox" checked="true" name="shareUserId"
            value="lijing">李靖 </li>
        <li><input type="checkbox" name="shareUserId" value="wangkaiyu">王开宇 </li>
    </ul>


后台代码

controller层

public void shareFile(HttpServletRequest request,HttpServletResponse response) {

        String signid = request.getParameter("signid") == null? "": request.getParameter("signid");
        String objtype = request.getParameter("objtype") == null? "": request.getParameter("objtype");
        String userlist = request.getParameter("userlist") == null?"": request.getParameter("userlist");
        User user = (User)request.getSession().getAttribute("user");

        int result = fileShareManager.shareFile(signid, objtype, userlist, user.getUserid().getValue());
        try{
            request.setCharacterEncoding("UTF-8");
            PrintWriter pw = response.getWriter();
            pw.write("" + result);
            pw.flush();
            pw.close();
        }catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }

    }

service

/**
     * 指定共享文件、文件夹
     *
     * @param signid 文件夹id/文件id
     * @param objtype 操作对象类型(1:file、2:folder)
     * @param userlist 分享用户范围
     * @return 0表示操作失败/1表示操作成功
     *
     */
    public int shareFile(String signid, String objtype, String userlist, String sharer) {
        // 删除共享记录
        fileShareDao.deleteFileshare(signid, objtype);
        // 新建共享记录
        String users[] = userlist.split(",");

        // 保存每一个共享用户
        for (int i = 0; i < users.length && !users[0].equals(""); i++) {
                WpFileshare wpFileshare = new WpFileshare();
                wpFileshare.setSharer(sharer);
                wpFileshare.setShareuser(users[i]);
                wpFileshare.setSharetime(new Date());
                fileShareDao.saveFileshare(wpFileshare);
        }
    }


选择用户-保存已选用户

时间: 2024-12-22 07:43:04

选择用户-保存已选用户的相关文章

选择用户-显示已选用户

1介绍 选择用户是一个比较常用的功能,主要包含2个功能点(保存已选选项.显示已选用户) 功能要求: 1 选择用户界面以弹出框方式显示 2 页面选项动态加载(部门及用户) 3 已选用户以勾选方式显示 实现分析: 首先因为窗口是个弹出框,所以页面的内容主要是以异步方式获取.因为内容分为两个部分(1待选项.2选中项)所以就有两种处理方法. 方法1:后台根据数据(1待选项.2选中项)生成完整的html代码,通过一次异步操作返回 方法2:待选项.和选中项通过2次异步方法获取,然后在页面js事项选中效果.

选择用户-保存选定的用户

1介绍 功能要求: 1 选择用户界面以弹出框方式显示 2 页面选项动态载入(部门及用户) 3 保存勾选的用户 实现分析: 保存已选用户逻辑: 删除原来已选择的用户记录列表(相当于清空操作) 加入新选择用户记录列表 页面  1 保存共享文件 // 保存共享文件 function shareFile(){ // 參数 var signid = chooseObj.id; var objtype = chooseObj.type; var userlist = ""; $("inp

ActiveDirectory 回收站特性快速恢复已删除用户

什么是Active Directory 回收站? Active Directory 回收站通过增强保存和还原意外删除的 Active Directory 对象的能力,极大 程度的缩短了目录服务的中断时间.使用活动目录回收站功能无需从备份中还原 Active Directory 数据.无须重新启动 Active Directory 域服务或重新启动域控制器. 启用 Active Directory 回收站后,会保留已删除 Active Directory 对象的所有属性,并将整个 对象还原到与被删

WordPress 前端投稿/编辑插件 DJD Site Post(支持游客和已注册用户)

说到前端用户投稿,倡萌之前推荐过3个不错的插件: WordPress匿名投稿插件:DX-Contribute (有朋友反馈不能用) WordPress投稿插件:User Submitted Posts (貌似没有集成编辑器,编辑文章不是很方便) WordPress 前端用户中心插件:WP User Frontend (免费版功能不太齐全) 今天要给大家推荐的这个 WordPress 前端投稿/编辑插件 DJD Site Post,它不仅支持已注册用户投稿,还支持给匿名游客投稿,而且在投稿界面添加

WordPress 前端投稿/编辑发表文章插件 DJD Site Post(支持游客和已注册用户)汉化版 免费下载

插件简介 前面逍遥乐给大家推荐了 WordPress用户前端化专业版WP User Frontend Pro WordPress中文汉化插件v2.1.9 今天逍遥乐给大家带来的wordpress插件是 WordPress 前端投稿/编辑插件 DJD Site Post,它不仅支持已注册用户投稿,还支持给匿名游客投稿,而且在投稿界面添加了登录链接,登录成功后自动返回投稿界面,体验很不错.该插件还允许用户上传媒体文件,集成WP自身的编辑器(可后台设置),支持选择分类和添加标签等等.支持有新文章投稿时

sql server 2005 数据库迁移问题总结——"错误15023:当前数据库中已存在用户或角色"

在数据库迁移过程中,如何设置不好用户与登录,会造成"错误15023:当前数据库中已存在用户或角色". 现在整理下思路: 1.在原数据库进行数据库备份 ***.bak 文件: 2.在新建数据库,建立与原数据库相同的登录名: 3.在新数据库上恢复备份的数据库文件 ***.bak 文件:选择覆盖原数据库文件: 4.将数据库恢复到其他服务器时,需要处理"孤立用户"的问题.具体解决办法如下: 用户和权限,但可能没有相应的登录或者登录所关联的用户可能不是相同的用户.这种情况被称

Exchange2013恢复已删除用户邮箱

上一篇文章我们讲到了如何恢复已禁用的邮箱.但是在微软的Exchange中,禁用邮箱和删除邮箱毕竟是两个截然不同的概念,这篇文章我们就来看看如何恢复已删除的邮箱. 1.依然是新建用户"张三",然后给其发一封邮件,作为后续邮箱数据恢复的参照. 2.此时删除该用户邮箱. 3.此时我们可以看到,无论是AD中还是Exchange收件人中,均已找不到用户"张三"的信息. 4.重新连接用户邮箱 5.筛选对应的后端MBX服务器,选中已断开连接的"张三"的邮箱,点

用ajax判断用户是否已存在?----2017-05-12

首先在用ajax之前,先说一下JSON: JSON:javascript object notation   js对象标记 对于json,我们只需要知道如何定义json?如何输出?怎么遍历? 1.定义json var a = { "one":"111", "two":"222", "three":arr,     -------可以是数组(var arr=new Array(2,3,4)) "fo

vue table中使用多选的问题(翻页后如何保存已选项),联动echarts图表实现流量监控

流量监控项目需求: 根据表格数据,添加多选功能,默认全选,根据已选项更新图表视图 1.表格需要多选 2.要联动图表,所以关键是要利用表格多选的触发回调函数 vue table中使用多选: 很简单,只需要在table中增开一项,type定义为selection即可: 如何默认列表全选呢? 先关联table: 数据加载完成以后,获取列表数据长度,手动循环切换状态(toggleRowSelection是关键,通过这个方法来触发echarts的刷新): OK,现在可以实现默认全选状态了: 如何与echa