• Easyui增删改查


    转自:http://blog.csdn.net/liu1765686161/article/details/48010097

    1.前台html

      1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      2 <html xmlns="http://www.w3.org/1999/xhtml">
      3 <head>
      4 <title>管理后台.................</title>
      5  
      6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
      7 <meta http-equiv="X-UA-Compatible" content="IE=edge" />
      8 <script type="text/JavaScript" src="/ck-bs/jQuery-easy-ui/jquery.min.js"></script>
      9 <script type="text/javascript" src="/ck-bs/jquery-easy-ui/jquery.cookie.js"></script>
     10 <link id="easyuiTheme" rel="stylesheet" type="text/css" href="/ck-bs/jquery-easy-ui/themes/default/easyui.css"/>
     11 <script type="text/javascript" src="/ck-bs/jquery-easy-ui/changeEasyuiTheme.js"></script>
     12 <link rel="stylesheet" type="text/css" href="/ck-bs/jquery-easy-ui/themes/icon.css"/>
     13 <script type="text/javascript" src="/ck-bs/jquery-easy-ui/jquery.easyui.min.js"></script>
     14 <script type="text/javascript" src="/ck-bs/jquery-easy-ui/locale/easyui-lang-zh_CN.js"></script>
     15 <script type="text/javascript" src="/ck-bs/js/util.js"></script>
     16 <script type="text/javascript" src="/ck-bs/js/validatebox.js"></script>
     17 <script type="text/javascript" src="/ck-bs/js/common.js"></script>
     18 <script type="text/javascript" src="/ck-bs/jquery-easy-ui/Chart.js"></script>
     19 <style type="text/css">
     20 .datagrid-view{
     21     height: 500px;
     22 }
     23 </style>
     24 </head>
     25 <body>
     26     <div id="toolbar" style="padding:5px;height:auto">  
     27         <div>    
     28             <span>处理状态:</span>
     29                             <select id="regSource" class="easyui-combobox">   
     30                                 <option value="weixin">微信</option>   
     31                                 <option value="zfb">支付宝</option>    
     32                                 <option value="qq">QQ</option>    
     33                                 <option value="mobile">手机</option>    
     34                             </select>     
     35         <a href="javascript:search()" class="easyui-linkbutton" data-options="iconCls:'icon-search'">查询</a>
     36         <a href="javascript:reset()" class="easyui-linkbutton" data-options="iconCls:'icon-clear'">重置</a>    
     37         </div>     
     38         <div style="margin-bottom:5px">    
     39             <a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="addUserInfo()">添加</a>    
     40             <a href="#" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="editUserInfo()">修改</a>   
     41             <a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="delUser()">删除</a>   
     42             <a href="#" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="editRole()">分配角色</a> 
     43         </div>     
     44     </div>    
     45         <table id="users_tb" class="easyui-datagrid" style="100%;height:100%;font-size:15px">
     46         </table>
     47     
     48     <!-- 用户信息窗口 -->
     49     <div id="userInfoWin" class="easyui-window" title="用户信息"
     50         style=" 500px; height: auto;" closed="true">
     51         <form id="userInfoForm" style="padding: 10px 20px 10px 40px;" method="post" enctype="multipart/form-data">
     52             <input type="hidden" name="userId"/>
     53             <table align="center">
     54                     <tr>
     55                         <td>用户头像:</td>
     56                         <td>
     57                             <input class="easyui-filebox"  data-options="prompt:'请选择...',buttonText:'上传图片',onChange:function(){checkUploadUserPic(this)}"
     58                              name="userIcon"  id="userIcon" style="310px"/> 
     59                          </td>
     60                     </tr>
     61                     <tr>
     62                         <td>注册来源:</td>
     63                         <td >
     64                             <select id="regSource" class="easyui-combobox" style="310px" name="regSource" style="200px;">   
     65                                 <option value="weixin">微信</option>   
     66                                 <option value="zfb">支付宝</option>    
     67                                 <option value="qq">QQ</option>    
     68                                 <option value="mobile">手机</option>    
     69                             </select> 
     70                         </td>
     71                     </tr>
     72                     <tr>
     73                         <td>用户类型:</td>
     74                         <td>
     75                             <select id="userType" class="easyui-combobox" style="310px" name="userType" style="200px;">   
     76                                 <option value="COMMON">普通用户</option> 
     77                                 <option value="SYS">管理员</option>      
     78                                 <option value="SUPPLIER">供应商</option>    
     79                             </select> 
     80                         </td>
     81                     </tr>
     82                     <tr>
     83                         <td>用户状态:</td>
     84                         <td>
     85                             <select id="userState" class="easyui-combobox" style="310px" name="userState" style="200px;">   
     86                                 <option value="1">有效</option>   
     87                                 <option value="0">冻结</option>    
     88                                 <option value="2">审核中</option>    
     89                             </select> 
     90                         </td>
     91                     </tr>
     92                     <tr>
     93                         <td>用户名:</td>
     94                         <td><input class="easyui-textbox" type="text" name="nickName" style="310px" data-options="required:true,validType:'length[0,100]'"/></td>
     95                     </tr>
     96                     <tr>
     97                         <td>密码:</td>
     98                         <td><input class="easyui-textbox" type="text" name="userPwd" style="310px"  data-options="required:true,validType:'length[0,100]'"/></td>
     99                     </tr>
    100                 </table>
    101                 
    102             <div style="padding: 5px; text-align: center;">
    103                 <a href="#" class="easyui-linkbutton" icon="icon-ok" onclick="javascript:saveUsers()">确定</a> <a
    104                     href="#" class="easyui-linkbutton" icon="icon-cancel" onclick="javascript:$('#win').window('close')">取消</a>
    105             </div>
    106         </form>
    107     </div>
    108 
    109     <!-- 权限编辑窗口 -->
    110     <div id="win" class="easyui-window" title="分配角色"
    111         style=" 500px; height: auto;" closed="true">
    112         <form id="userrole" style="padding: 10px 20px 10px 40px;">
    113             <input type="hidden" name="userId" id="edituserId"/>
    114             <div style="padding: 5px; text-align: center;">
    115                 角色(可多选):<select class="easyui-combobox" id="editrolesIds" name="rolesIds" data-options="multiple:true" style="200px;"></select>
    116             </div>
    117             <div style="padding: 5px; text-align: center;">
    118                 <a href="#" class="easyui-linkbutton" icon="icon-ok" onclick="javascript:saveUserRole()">确定</a> <a
    119                     href="#" class="easyui-linkbutton" icon="icon-cancel" onclick="javascript:$('#win').window('close')">取消</a>
    120             </div>
    121         </form>
    122     </div>
    123 <script type="text/javascript" src="../../js/user/users.js"></script>
    124 </body>
    125 </html>

    2.前台js

      1 /**图片上传格式验证*/
      2 function checkUploadUserPic(obj){
      3     var filepath =$(obj).filebox('getValue');
      4     if(filepath==""){
      5        //alert("请选择上传的文件!");
      6        return false;
      7     }
      8     var extname = filepath.substring(filepath.lastIndexOf(".")+1,filepath.length);
      9    extname = extname.toLowerCase();//处理了大小写
     10     if(extname!= "bmp"&&extname!= "jpg"&&extname!= "gif"&&extname!= "png"){
     11      alert("只能上传bmp,jpg,gif,png格式的图片!");
     12      $(obj).filebox('setValue','');
     13      return false;
     14     }
     15    }
     16 
     17 
     18 /**
     19  * 初始化界面
     20  */
     21 var dataGrid;
     22 var rowEditor = undefined;
     23 var editRow = undefined;
     24 $(function() {
     25     dataGrid = $('#users_tb').datagrid(
     26                     {
     27                         url : "../../service/Users/all",// 加载的URL
     28                         isField : "userId",
     29                         method : "POST",
     30                         pagination : false,// 显示分页
     31                         fit : true,// 自动补全
     32                         fitColumns : true,
     33                         pagination:true,
     34                         rownumbers:true,
     35                         singleSelect : true,
     36                         iconCls : "icon-save",// 图标
     37                         columns : [ [ // 每个列具体内容
     38                                       
     39                                       {
     40                                             field:"userId",
     41                                             title:"ID",
     42                                             40
     43                                          },
     44                                          {
     45                                                 field:"rolesIds",
     46                                                 title:"用户角色",
     47                                                 hidden:true
     48                                              },
     49                                          {
     50                                               field:"userIcon",
     51                                               title:"用户头像",
     52                                               80,
     53                                               formatter : function(value, row, index) {
     54                                                     return '<img class="easyui-img" style=" 40px;height: 40px;" src="../../upload/users/'+value+'"></img>';
     55                                             }
     56                                           },
     57                                           {
     58                                               field:"regSource",
     59                                               title:"注册来源",
     60                                               80,
     61                                               formatter : function(value, row, index) {
     62                                                     if (value == 'weixin') {
     63                                                         return '<span>微信</span>';
     64                                                     } else if (value == 'zfb') {
     65                                                         return '<span>支付宝</span>';
     66                                                     } else if (value == 'qq') {
     67                                                         return '<span>QQ</span>';
     68                                                     } else {
     69                                                         return '<span>手机</span>';
     70                                                     }
     71                                                 }
     72                                           },
     73                                           {
     74                                               field:"userType",
     75                                               title:"用户类型",
     76                                               80,
     77                                                 formatter : function(value, row, index) {
     78                                                     if (value == 'SYS') {
     79                                                         return '<span>管理员</span>';
     80                                                     } else if (value == 'COMMON') {
     81                                                         return '<span>普通用户</span>';
     82                                                     } else {
     83                                                         return '<span>供应商</span>';
     84                                                     }
     85                                                 }
     86                                           },
     87                                           {
     88                                                 field:"userState",
     89                                                 title:"用户状态",
     90                                                 80,
     91                                                 formatter : function(value, row, index) {
     92                                                     if (value == '1') {
     93                                                         return '<span>有效</span>';
     94                                                     } else if (value == '0') {
     95                                                         return '<span>冻结</span>';
     96                                                     } else {
     97                                                         return '<span>审核中</span>';
     98                                                     }
     99                                                 }
    100                                           },
    101                                           {
    102                                                  field:"userPwd",
    103                                                 title:"用户密码",
    104                                                 80
    105                                           },
    106                                           {
    107                                                 field:"nickName",
    108                                                 title:"用户名",
    109                                                 80
    110                                           },
    111                                           {
    112                                                 field:"regTm",
    113                                                 title:"创建时间",
    114                                                 80
    115                                                 
    116                                           }
    117                                 
    118                                  ] ],
    119                         toolbar : "#toolbar" // 工具条
    120                     });
    121 
    122     var pager = $("#users_tb").datagrid('getPager');
    123     $(pager).pagination({
    124         pageSize:10,
    125         pageList:[5,10,15,20],
    126         beforePageText: '第',//页数文本框前显示的汉字 
    127         afterPageText: '页    共 {pages} 页',
    128         displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录',
    129         onBeforeRefresh:function(){ 
    130             $(this).pagination('loading');//正在加载数据中...
    131             //alert('正在加载数据中...');
    132             $(this).pagination('loaded'); //数据加载完毕
    133         }
    134     });
    135 });
    136 
    137 function reset(){
    138     $("#regSource").combobox('setValue','');
    139 }
    140 //获取参数       
    141 function getQueryParams(queryParams) {  
    142     var regSource = $("#regSource").combobox('getValue');
    143     queryParams.regSource = regSource;  
    144     return queryParams;  
    145 }  
    146 
    147 //增加查询参数,重新加载表格  
    148 function search() {  
    149        //查询参数直接添加在queryParams中      
    150        var queryParams = $('#users_tb').datagrid('options').queryParams;  
    151        getQueryParams(queryParams);  
    152        $('#users_tb').datagrid('options').queryParams = queryParams;  
    153        $("#users_tb").datagrid('reload');  
    154 } 
    155 
    156 function editUserInfo(){
    157     var rows = dataGrid.datagrid('getSelections');
    158     if (rows.length == 1) {
    159         var row =rows[0];
    160         $("#userInfoWin").window('open');
    161         $("#userInfoForm").form("load", row);
    162     }else{
    163         alert("请选择一条记录!");
    164         return;
    165     }
    166 }
    167 
    168 function addUserInfo(){
    169     $("#userInfoWin").window('open');
    170     $("#userInfoForm").form("clear");
    171 }
    172 
    173 
    174 function editRole(){
    175     var rows = dataGrid.datagrid('getSelections');
    176     if (rows.length == 1) {
    177         var row =rows[0];
    178         $('#editrolesIds').combobox({  
    179             url : '../../service/role/all', 
    180             valueField:'id',    
    181             textField:'roleName'   
    182         }); 
    183         $("#win").window('open');
    184         if(row[0].rolesIds!=null&&row[0].rolesIds!="undefined"&&row[0].rolesIds!=""){
    185             $("#editrolesIds").val(row[0].rolesIds);
    186         }
    187         $("#edituserId").val(row[0].userId);
    188     }else{
    189         alert("请选择一条记录!");
    190         return;
    191     }
    192 }
    193 
    194 function delUser(){
    195     var rows = dataGrid
    196     .datagrid('getSelections');
    197 
    198 if (rows.length <= 0) {
    199 $.messager.alert('警告', '您没有选择',
    200         'error');
    201 } else if (rows.length > 1) {
    202 $.messager.alert('警告', '不支持批量删除',
    203         'error');
    204 } else {
    205 $.messager.confirm('确定','您确定要删除吗',
    206         function(t) {
    207             if (t) {
    208                 $.ajax({
    209                     url : '../../service/Users/del',
    210                     method : 'POST',
    211                     data : rows[0],
    212                     dataType : 'json',
    213                     success : function(r) {
    214                         if (r.code=="1") {
    215                             dataGrid.datagrid('acceptChanges');
    216                             $.messager.show({msg : r.msg,title : '成功'});
    217                             editRow = undefined;
    218                             dataGrid.datagrid('reload');
    219                         } else {
    220                             dataGrid.datagrid('beginEdit',editRow);
    221                             $.messager.alert('错误',r.msg,'error');
    222                         }
    223                         dataGrid.datagrid('unselectAll');
    224                     }
    225                     });
    226                     }
    227                 });
    228 }
    229 }
    230 
    231 function saveUserRole(){
    232     $('#userrole').form('submit',{
    233         url : '../../service/UsersRoles/update',
    234         method:'post',
    235         success:function(data){
    236             var r = JSON.parse(data);
    237             if(r.code=="1"){
    238                 $.messager.alert({
    239                     msg : "角色分配成功",
    240                     title : '成功'
    241                 });
    242                 $('#win').window('close');
    243                 $("#users_tb").datagrid('reload');
    244             }else{
    245                 $.messager.alert(
    246                         '错误',
    247                         "角色分配失败",
    248                         'error');
    249             }
    250             $('#win').window('close');
    251             $("#users_tb").datagrid('reload');
    252         }
    253     });
    254 }
    255 
    256 function saveUsers(){
    257     $('#userInfoForm').form('submit',{
    258         url: '../../service/Users/save',
    259         method:'post',
    260         enctype : "multipart/form-data",
    261         success:function(data){
    262             var r = JSON.parse(data);
    263             if(r.code=="1"){
    264                 $.messager.alert({
    265                     msg : "操作用户成功",
    266                     title : '成功'
    267                 });
    268                 $('#userInfoWin').window('close');
    269                 $("#users_tb").datagrid('reload');
    270             }else{
    271                 $.messager.alert(
    272                         '错误',
    273                         "操作用户失败",
    274                         'error');
    275             }
    276             $('#userInfoWin').window('close');
    277             $("#users_tb").datagrid('reload');
    278         }
    279     });
    280 }

    3.后台代码

    /**
     * 
     */
    package com.aiw.ck.controller.user;
    
    import Java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.log4j.Logger;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.multipart.commons.CommonsMultipartFile;
    
    import com.aiw.ck.controller.BaseController;
    import com.aiw.ck.data.Res;
    import com.aiw.ck.data.WebConstants;
    import com.aiw.ck.model.user.User;
    import com.aiw.ck.util.FileUploadUtil;
    import com.aiw.ck.util.StrUtil;
    import com.google.gson.Gson;
    
    
    
    /**
     * 用户管理
     * @author sfit0512
     *
     */
    @RestController
    public class UsersController extends BaseController {
        
        Logger log = Logger.getLogger(UsersController.class);
        
        @Autowired
        private com.aiw.ck.service.user.UserService userService;
    
        private Gson gson = new Gson();
        /**
         * 分页查询用户
         * @return
         */
        @RequestMapping("/Users/all")
        public String getUserssQueryPage(HttpServletRequest request,
                HttpServletResponse response) {
            try {
                String regSource = request.getParameter("regSource");
                String pageString = request.getParameter("page");
                String rowsString = request.getParameter("rows");
                log.info("parameter: regSource:"+regSource+" page:"+pageString+" rows:"+rowsString);
                int pages = 1;
                int rows = 20;
    
                if(StrUtil.notBlank(pageString)){
                    pages = Integer.parseInt(pageString);
                }
                if(StrUtil.notBlank(rowsString)){
                    rows = Integer.parseInt(rowsString);
                }
                List<User> list = userService.getUsers(regSource,pages, rows);
                if (list.size()>0) {
                    long total = userService.getTotalCount(regSource);
                    Map<String, Object> ret = new HashMap<String, Object>();
                    ret.put("total", total);
                    ret.put("rows", list);
                    return gson.toJson(ret);
                }
            } catch (Exception e) {
                // TODO: handle exception
                log.error("",e);
                return FAIL;
            }
            return FAIL;
        }
        
        
        /**
         * 添加用户
         * @param request
         * @param response
         * @return
         * @throws Exception
         */
        @RequestMapping(value = "/Users/add", method = RequestMethod.POST)
        @ResponseBody
        public Res addUsers(HttpServletRequest request,
                HttpServletResponse response,User user) throws Exception {
            try {
                int ret = userService.addUser(user);
                if(ret>0){
                    return success();
                }
            } catch (Exception e) {
                // TODO: handle exception
                log.error("UsersController 的方法 addUsers 执行出错,原因:" + e, e);
            }
            return fail();
        }
        
        /**
         * 修改用户
         * @param request
         * @param response
         * @return
         * @throws Exception
         */
        @RequestMapping(value = "/Users/update", method = RequestMethod.POST)
        @ResponseBody
        public Res updateUsers(HttpServletRequest request,
                HttpServletResponse response ,User user) throws Exception {
            try {
                int ret = userService.updateUser(user);
                if(ret>0){
                    return success();
                }
            } catch (Exception e) {
                // TODO: handle exception
                log.error("UsersController 的方法 updateUsers 执行出错,原因:" + e, e);
            }
            return fail();
        }
        
        /**
         * 保存用户
         * @param request
         * @param response
         * @return
         * @throws Exception
         */
        @RequestMapping(value = "/Users/save", method = RequestMethod.POST)
        @ResponseBody
        public Res saveUsers(@RequestParam("userIcon") CommonsMultipartFile userIcon,
                HttpServletRequest request,HttpServletResponse response) throws Exception {
            try {
    
                String regSource = request.getParameter("regSource");
                String userId = request.getParameter("userId");
                String userType =  request.getParameter("userType");
                String nickName = request.getParameter("nickName");
                String userPwd = request.getParameter("userPwd");
                String userState = request.getParameter("userState");
                String uString = "";
                User user = new User();
                //文件存储路径
                String path =request.getSession().getServletContext().getRealPath("/")+WebConstants.FILE_UPLOAD_USERS;
                if (userIcon.getSize()>0) {
                     uString = userIcon.getFileItem().getName();
                    //上传图片
                     FileUploadUtil.fileUpload(userIcon, path,uString);
                     user.setUserIcon(uString);
                }
                user.setNickName(nickName);
                user.setUserPwd(userPwd);
                user.setRegSource(regSource);
                user.setUserType(userType);
                user.setUserState(userState.charAt(0));
                int ret = 0;
                if (StrUtil.notBlank(userId)) {
                    //修改用户信息
                    user.setUserId(Long.parseLong(userId));
                    ret = userService.updateUser(user);
                } else {
                    ret = userService.addUser(user);
                }
                if(ret>0){
                    return success();
                }
            } catch (Exception e) {
                // TODO: handle exception
                log.error("UsersController 的方法 updateUsers 执行出错,原因:" + e, e);
            }
            return fail();
        }
        
        
        
        /**
         * 删除用户
         * @param request
         * @param response
         * @return
         * @throws Exception
         */
        @RequestMapping(value = "/Users/del", method = RequestMethod.POST)
        @ResponseBody
        public Res deleteUsers(HttpServletRequest request,
                HttpServletResponse response) throws Exception {
            try {
                String id = request.getParameter("userId");
                int ret = userService.delUser(Long.parseLong(id));
                if(ret>0){
                    return success();
                }
            } catch (Exception e) {
                // TODO: handle exception
                log.error("UsersController 的方法 deleteUsers 执行出错,原因:" + e, e);
            }
            return fail();
        }
        
        
        /**
         * 添加用户角色关系
         * @param request
         * @param response
         * @return
         * @throws Exception
         */
        @RequestMapping(value = "/UsersRoles/add", method = RequestMethod.POST)
        @ResponseBody
        public Res addUsersRoles(HttpServletRequest request,
                HttpServletResponse response,User user) throws Exception {
            try {
                int ret = userService.addUserRoles(user);
                if(ret>0){
                    return success();
                }
            } catch (Exception e) {
                // TODO: handle exception
                log.error("UsersController 的方法 addUsersRoles 执行出错,原因:" + e, e);
            }
            return fail();
        }
        
        /**
         * 修改用户角色关系
         * @param request
         * @param response
         * @return
         * @throws Exception
         */
        @RequestMapping(value = "/UsersRoles/update", method = RequestMethod.GET)
        @ResponseBody
        public Res updateUsersRoles(HttpServletRequest request,
                HttpServletResponse response ,User user) throws Exception {
            try {
                int ret = userService.updateUserRoles(user);
                if(ret>0){
                    return success();
                }
            } catch (Exception e) {
                // TODO: handle exception
                log.error("UsersController 的方法 updateUsersRoles 执行出错,原因:" + e, e);
            }
            return fail();
        }
        
    
    }
  • 相关阅读:
    XML
    基于SQL的全文检索引擎Sphinx
    php中的Session与Cookie
    公共网关接口CGI(Common GatewayInterface)
    Memcached、memcached、memcache
    MemCache
    在windows上使用symfony创建简易的CMS系统(三)
    在windows上使用symfony创建简易的CMS系统(二)
    在windows上使用symfony创建简易的CMS系统(一)
    Window7上搭建symfony开发环境(PEAR)
  • 原文地址:https://www.cnblogs.com/Thinkingcao/p/7274094.html
Copyright © 2020-2023  润新知