首页 > 编程语言 > 详细

SpringBoot实战项目(八)--用户修改功能之显示用户信息

时间:2020-04-13 13:57:19      阅读:345      评论:0      收藏:0      [点我收藏+]

首先页面构建--

  1 <!DOCTYPE html>
  2 <html class="x-admin-sm" xmlns:th="http://www.thymeleaf.org">
  3   
  4   <head>
  5     <meta charset="UTF-8">
  6     <title>修改用户信息</title>
  7     <header th:replace="header.html"></header>
  8   </head>
  9   
 10   <body>
 11     <div class="x-body">
 12         <form class="layui-form">
 13             <input type="hidden" id="userId" name="id" th:value="${sysUser.id}">
 14 
 15           <div class="layui-form-item">
 16               <label for="L_username" class="layui-form-label">
 17                   <span class="x-red">*</span>用户名
 18               </label>
 19               <div class="layui-input-inline">
 20                   <input type="text" id="L_username" th:value="${sysUser.userName}" name="userName" required="" lay-verify="userName" autocomplete="off" class="layui-input">
 21               </div>
 22               <div class="layui-form-mid layui-word-aux">
 23                   <span class="x-red">*</span>将会成为您唯一的登入名
 24               </div>
 25           </div>
 26           <div class="layui-form-item">
 27               <label for="L_nickname" class="layui-form-label">
 28                   <span class="x-red">*</span>昵称
 29               </label>
 30               <div class="layui-input-inline">
 31                   <input type="text" id="L_nickname" th:value="${sysUser.nickName}" name="nickName" required="" lay-verify="nickName" autocomplete="off" class="layui-input">
 32               </div>
 33           </div>
 34           <div class="layui-form-item">
 35               <label for="L_telephone" class="layui-form-label">
 36                   <span class="x-red">*</span>手机
 37               </label>
 38               <div class="layui-input-inline">
 39                   <input type="text" id="L_telephone" th:value="${sysUser.telephone}" name="telephone" required="" lay-verify="telephone" autocomplete="off" class="layui-input">
 40               </div>
 41               <div class="layui-form-mid layui-word-aux">
 42                   11位数字
 43               </div>
 44           </div>
 45           <div class="layui-form-item">
 46               <label for="L_email" class="layui-form-label">
 47                   <span class="x-red">*</span>邮件
 48               </label>
 49               <div class="layui-input-inline">
 50                   <input type="text" id="L_email" th:value="${sysUser.email}" name="email" required="" lay-verify="email" autocomplete="off" class="layui-input">
 51               </div>
 52           </div>
 53             <div class="layui-form-item">
 54                 <label for="L_email" class="layui-form-label">生日</label>
 55                 <div class="layui-input-inline">
 56                     <input type="text" id="L_birthday"  th:value="${#dates.format(sysUser.birthday, ‘yyyy-MM-dd‘)}"  name=‘birthday‘ lay-verify="date" placeholder="yyyy-MM-dd" class="layui-input">
 57                 </div>
 58             </div>
 59             <div class="layui-form-item">
 60                 <label class="layui-form-label">性别</label>
 61                 <div class="layui-input-block">
 62                     <input type="radio" th:field="${sysUser.sex}" name="sex" value="1" title="男" checked="">
 63                     <input type="radio" th:field="${sysUser.sex}" name="sex" value="0" title="女">
 64                 </div>
 65             </div>
 66             <input type="text" id="roleId"  name="roleId" style="display:none;"/>
 67             <div class="layui-form-item">
 68                 <label class="layui-form-label">角色</label>
 69                 <div class="layui-input-block show-role-container">
 70                 </div>
 71             </div>
 72           <div class="layui-form-item">
 73               <label for="L_email" class="layui-form-label">
 74               </label>
 75               <button  class="layui-btn" lay-filter="edit" lay-submit="">
 76                   更新
 77               </button>
 78           </div>
 79       </form>
 80     </div>
 81     <script>
 82       layui.use([form,layer, laydate], function(){
 83           $ = layui.jquery;
 84           var form = layui.form
 85           ,layer = layui.layer
 86           ,laydate = layui.laydate;
 87           getAllRole(function(){
 88               layui.form.render(radio)
 89           });
 90           //日期
 91           laydate.render({
 92                elem: #L_birthday
 93               ,trigger: click
 94               ,format: yyyy-MM-dd //可任意组合
 95           });
 96 
 97         //自定义验证规则
 98         form.verify({
 99           nikeName: function(value){
100             if(value.length < 5){
101               return 昵称至少得5个字符啊;
102             }
103           }
104           ,telephone: [/(.+){6,12}$/, 电话号码必须6到12位]
105           ,email: function(value){
106               if($(#email).val()!=$(#email).val()){
107                   return 邮箱不正确;
108               }
109           }
110         });
111 
112         //监听提交
113         form.on(submit(edit), function(data){
114             var rolelRadio = $("[name=roleId]:checked");
115             if(rolelRadio == undefined || rolelRadio.length <= 0){
116                 layer.alert("请给该用户设置角色");
117                 return false;
118             }
119             $.ajax({
120                 url:"/user/edit",
121                 type:"POST",
122                 data:data.field,
123                 dataType:json,
124                 success:function(result){
125                     if(result.code == 500 || result.code == 5000100 || result.code == 5000101 || result.code == 5000102){
126                         layer.alert(result.msg);
127                     }else{
128                         layer.alert("修改成功!", {icon: 6},function () {
129                             //关闭当前frame
130                             xadmin.close();
131                             // 可以对父窗口进行刷新
132                             xadmin.father_reload();
133                         });
134                     }
135 
136                 }
137             });
138           return false;
139         });
140       });
141 
142       function getAllRole(callback){
143 
144           $.ajax({
145               url:"/role/all",
146               type:"GET",
147               dataType:json,
148               success:function(result){
149                   var html = "";
150                   if(result.datas && result.datas.length > 0){
151                       for(i in result.datas ){
152                           html += <input type="radio"  name="roleId" value="+result.datas[i].id+" title="+result.datas[i].roleName+" > +
153                               <div class="layui-unselect layui-form-radio layui-form-radioed"><i class="layui-anim layui-icon"></i><div>+result.datas[i].roleName+</div></div>;
154                       }
155                       $(".show-role-container").html(html);
156                       getCurrentUserRole(callback);
157                   }
158               }
159           });
160       }
161 
162       function getCurrentUserRole(callback){
163           var userId = $("#userId").val();
164           $.ajax({
165               url: "/uerRole/getUserRoleByUserId",
166               type:"POST",
167               data:{
168                 "userId":userId
169               },
170               dataType:json,
171               success:function(result){
172                   if(result.code == 200){
173                       if(result.data){
174                           $("[name=roleId]").each(function(){
175                               if($(this).val() == result.data.roleId){
176                                   $(this).attr("checked","checked");
177                                   return false;
178                               }
179                           });
180                       }
181                       if(callback){
182                           callback();
183                       }
184 
185                       //callback&&callback()
186                   }
187               }
188           });
189       }
190   </script>
191   </body>
192 </html>

 

如图--首先明确页面需要接收一个userId(也就是要修改的是哪条数据),然后打开编辑页面把userId对应的用户信息展示出来

技术分享图片

 

 

 首先还是得从控制器写起

 UserController--绑定数据模型,然后调用userService.getUserById(sysUser.getId)方法获取到对应userId的用户信息

技术分享图片

 

 

 UserService

技术分享图片

 

 

 UserServiceImpl

技术分享图片

 

 

 UserDao

技术分享图片

 

 

 SQL映射文件--UserMapper.xml

技术分享图片

 

 检查无误启动打开编辑页面 就能把对应的用户信息显示出来

 下一步就需要把用户所对应的角色也给显示出来....

SpringBoot实战项目(八)--用户修改功能之显示用户信息

原文:https://www.cnblogs.com/wx60079/p/12690795.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!