27.页面完善
27.1 首页
首页我没写什么东西,只是放了个图片上去
desktop.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>首页</title>
</head>
<body>
<div>
<img src="${pageContext.request.contextPath}/statics/images/desktop.jpg" width="1100px" height="600px">
</div>
</body>
</html>
PageController.java
/**
* Description: 去到首页页面
* @param:
* @Return
*/
@RequestMapping("/desktop")
public String toDesktop(){
return "desktop/desktop";
}
27.2 基本资料
userMessage.jsp
<%--
Created by IntelliJ IDEA.
User: 12917
Date: 2022/2/4
Time: 19:26
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<!-- 获取CSRF Token -->
<meta name="_csrf" content="${_csrf.token}"/>
<!-- 获取CSRF头,默认为X-CSRF-TOKEN -->
<meta name="_csrf_header" content="${_csrf.headerName}"/>
<meta charset="utf-8">
<title>基本资料</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="${pageContext.request.contextPath}/statics/layui/lib/layui-v2.5.5/css/layui.css" media="all">
<link rel="stylesheet" href="${pageContext.request.contextPath}/statics/layui/css/public.css" media="all">
<style>
.layui-form-item .layui-input-company {width: auto;padding-right: 10px;line-height: 38px;}
</style>
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<div class="layui-form layuimini-form">
<!-- 隐藏域,保存用户id -->
<%-- <div class="layui-form-item">--%>
<%-- <label class="layui-form-label required">管理账号</label>--%>
<%-- <div class="layui-input-block">--%>
<%-- <input type="text" name="userName" lay-verify="required" lay-reqtext="管理账号不能为空" placeholder="请输入管理账号" value="" class="layui-input">--%>
<%-- <tip>填写自己管理账号的名称。</tip>--%>
<%-- </div>--%>
<%-- </div>--%>
<div class="layui-form-item">
<label class="layui-form-label required">用户姓名</label>
<div class="layui-input-block">
<input type="text" name="realName" lay-verify="required" lay-reqtext="真实姓名不能为空" placeholder="请输入真实姓名" value="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required" >用户性别</label>
<div class="layui-input-block">
<input type="radio" name="sex" value="1" title="男" checked>
<input type="radio" name="sex" value="2" title="女" >
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">邮箱</label>
<div class="layui-input-block">
<input type="text" name="email" id="email" lay-verify="required|email" autocomplete="off" placeholder="请输入电子邮箱" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">联系方式</label>
<div class="layui-input-block">
<input type="text" name="phone" id="phone" lay-verify="required|phone" autocomplete="off" placeholder="请输入联系方式" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">备注信息</label>
<div class="layui-input-block">
<textarea name="remark" class="layui-textarea" placeholder="请输入备注信息"></textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="saveBtn">确认保存</button>
</div>
</div>
</div>
</div>
</div>
<script src="${pageContext.request.contextPath}/statics/layui/lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
<script src="${pageContext.request.contextPath}/statics/layui/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script>
layui.use(['form','miniTab','jquery','layer'], function () {
var form = layui.form,
layer = layui.layer,
miniTab = layui.miniTab,
$ = layui.jquery;
//获取<meta>标签中封装的CSRF Token
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
//将头中的CSRF Token信息进行发送
$(document).ajaxSend(function (e,xhr,options) {
xhr.setRequestHeader(header,token);
});
//监听提交
form.on('submit(saveBtn)', function (data) {
$.post("/admin/CurrentUser/updateCurrentUser",data.field,function(result){
if(result.success){
//提示
layer.alert(result.message,{icon:1});
}else{
layer.alert(result.message,{icon:2});
}
},"json");
return false;
});
});
</script>
</body>
</html>
index.jsp
PageController.java
/**
* Description: 去到基本资料页面
* @param:
* @Return
*/
@RequestMapping("/userMessage")
public String touserSetting(){
return "user/userMessage";
}
CurrentUserController.java
package com.manong.controller;
import com.alibaba.fastjson.JSON;
import com.manong.entity.SysUser;
import com.manong.service.SysUserService;
import com.manong.utils.PasswordUtil;
import com.manong.utils.SystemConstants;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.security.Principal;
import java.util.HashMap;
import java.util.Map;
@Controller
@RequestMapping("/admin/CurrentUser")
public class CurrentUserController {
@Resource
private SysUserService userService;
/**
* Description: 完善当前用户信息
* @param:
* @Return
*/
@ResponseBody
@RequestMapping("/updateCurrentUser")
public String updateCurrentUser(SysUser sysUser,Principal principal){
//获取当前用户
SysUser loginUser = userService.getUserByUserName(principal.getName());
sysUser.setId(loginUser.getId());
sysUser.setUserName(loginUser.getUserName());
sysUser.setPassword(loginUser.getPassword());
Map<String,Object> map = new HashMap<String,Object>();
if(userService.updateUser(sysUser)>0){
map.put(SystemConstants.SUCCESS,true);
map.put(SystemConstants.MESSAGE,"修改成功");
}else{
map.put(SystemConstants.SUCCESS,false);
map.put(SystemConstants.MESSAGE,"修改失败");
}
return JSON.toJSONString(map);
}
}
27.3 修改密码
userPassword.jsp
<%--
Created by IntelliJ IDEA.
User: 12917
Date: 2022/2/4
Time: 19:16
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<!-- 获取CSRF Token -->
<meta name="_csrf" content="${_csrf.token}"/>
<!-- 获取CSRF头,默认为X-CSRF-TOKEN -->
<meta name="_csrf_header" content="${_csrf.headerName}"/>
<meta charset="utf-8">
<title>修改密码</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="${pageContext.request.contextPath}/statics/layui/lib/layui-v2.5.5/css/layui.css" media="all">
<link rel="stylesheet" href="${pageContext.request.contextPath}/statics/layui/css/public.css" media="all">
<style>
.layui-form-item .layui-input-company {width: auto;padding-right: 10px;line-height: 38px;}
</style>
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<div class="layui-form layuimini-form">
<%-- <div class="layui-form-item">--%>
<%-- <label class="layui-form-label required">旧的密码</label>--%>
<%-- <div class="layui-input-block">--%>
<%-- <input type="password" name="old_password" lay-verify="required" lay-reqtext="旧的密码不能为空" placeholder="请输入旧的密码" value="" class="layui-input">--%>
<%-- <tip>填写自己账号的旧的密码。</tip>--%>
<%-- </div>--%>
<%-- </div>--%>
<div class="layui-form-item">
<label class="layui-form-label required">新的密码</label>
<div class="layui-input-block">
<input type="password" name="new_password" lay-verify="required" lay-reqtext="新的密码不能为空" placeholder="请输入新的密码" value="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">新的密码</label>
<div class="layui-input-block">
<input type="password" name="again_password" lay-verify="required" lay-reqtext="新的密码不能为空" placeholder="请输入新的密码" value="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="saveBtn">确认保存</button>
</div>
</div>
</div>
</div>
</div>
<script src="${pageContext.request.contextPath}/statics/layui/lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
<script src="${pageContext.request.contextPath}/statics/layui/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script>
layui.use(['form','miniTab','jquery','layer'], function () {
var form = layui.form,
layer = layui.layer,
miniTab = layui.miniTab,
$ = layui.jquery;
//获取<meta>标签中封装的CSRF Token
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
//将头中的CSRF Token信息进行发送
$(document).ajaxSend(function (e,xhr,options) {
xhr.setRequestHeader(header,token);
});
//监听提交
form.on('submit(saveBtn)', function (data) {
if(data.field.new_password != data.field.again_password){
layer.msg("两次密码不一致,请保持一致");
return false;
}
$.post("/admin/CurrentUser/updateCurrentUserPwd",data.field,function (){
//等待500毫秒后跳转页面
setTimeout(function (){
parent.location.href = '/login.jsp';
},500);
return false;
});
return false;
});
});
</script>
</body>
</html>
index.jsp
PageController.java
/**
* Description: 去到修改密码页面
* @param:
* @Return
*/
@RequestMapping("/userPassword")
public String touserPassword(){
return "user/userPassword";
}
CurrentUserController.java
/**
* Description: 修改当前用户密码
* @param:
* @Return
*/
@ResponseBody
@RequestMapping("/updateCurrentUserPwd")
public String updateCurrentUserPwd(HttpServletRequest req, HttpSession session, Principal principal){
String new_password = req.getParameter("new_password");
//获取当前用户
SysUser loginUser = userService.getUserByUserName(principal.getName());
//更新密码
loginUser.setPassword(PasswordUtil.encode(new_password));
//更新完毕,删除session数据
session.invalidate();
Map<String, Object> map = new HashMap<String,Object>();
if(userService.updatePwd(loginUser)>0){
map.put(SystemConstants.SUCCESS,true);
map.put(SystemConstants.MESSAGE,"修改成功");
}else{
map.put(SystemConstants.SUCCESS,false);
map.put(SystemConstants.MESSAGE,"修改失败");
}
return JSON.toJSONString(map);
}
SysUserService.java
/**
* 修改登陆用户密码
* @param sysUser
* @return
*/
int updatePwd(SysUser sysUser);
SysUserServiceImpl.java
/**
* 修改登陆用户密码
*
* @param
* @return
*/
@Override
public int updatePwd(SysUser sysUser) {
return userMapper.updatePwd(sysUser);
}
SysUserMapper.java
/**
* 修改登陆用户密码
* @param sysUser
* @return
*/
int updatePwd(SysUser sysUser);
SysUserMapper.xml
<update id="updatePwd" parameterType="com.manong.entity.SysUser">
update sys_user
<set>
<if test="password != null">
password = #{password,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
到这里项目就算是完成啦~ 学到就是赚到~