Merge branch 'server_side_template' of https://github.com/c-my/mall-website into server_side_template

This commit is contained in:
2019-09-04 10:11:07 +08:00
9 changed files with 506 additions and 38 deletions
-1
View File
@@ -30,7 +30,6 @@
<orderEntry type="library" name="Maven: org.thymeleaf:thymeleaf:Release2" level="project" />
<orderEntry type="library" name="Maven: org.thymeleaf.extras:thymeleaf-extras-springsecurity4:Release" level="project" />
<orderEntry type="library" name="Maven: org.thymeleaf:thymeleaf-spring4:Release" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.springframework.boot:spring-boot-devtools:2.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jpa:2.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.4" level="project" />
@@ -27,13 +27,31 @@ public class HomeController {
return "homepage";
}
@GetMapping("/{userID}")
public String homePage(@PathVariable("userID") long userID, Model model) {
var user = userService.findUserByID(userID);
if (user.isEmpty()) {
return "error";
}
model.addAttribute("user", user.get());
return "homepage.html";
// @GetMapping("/{userID}")
// public String homePage(@PathVariable("userID") long userID, Model model) {
// var user = userService.findUserByID(userID);
// if (user.isEmpty()) {
// return "error";
// }
// model.addAttribute("user", user.get());
// return "homepage.html";
// }
@GetMapping("/profile")
public String profilePage(Model model, @AuthenticationPrincipal User user){
model.addAttribute("user",user);
return "profile.html";
}
@GetMapping("/shipping")
public String shippingPage(Model model, @AuthenticationPrincipal User user){
model.addAttribute("user",user);
return "shipping.html";
}
@GetMapping("/change")
public String changePage(Model model, @AuthenticationPrincipal User user){
model.addAttribute("user",user);
return "change.html";
}
}
+3 -3
View File
@@ -14,7 +14,7 @@
<p class=" wrapper clearfix">
<span class="fl">购物车</span>
<img class="top" src="img/temp/cartTop01.png">
<a href="product.html" class="fr">继续购物&gt;</a>
<a href="product" class="fr">继续购物&gt;</a>
</p>`
</div>
<!-----------------table------------------->
@@ -80,13 +80,13 @@
</div>
<!--返回顶部-->
<div class="gotop">
<a href="cart.html">
<a href="cart">
<dl>
<dt><img src="img/gt1.png"/></dt>
<dd>去购<br />物车</dd>
</dl>
</a>
<a href="mygxin.html">
<a href="/home/profile">
<dl>
<dt><img src="img/gt3.png"/></dt>
<dd>个人<br />中心</dd>
+87
View File
@@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<html>
<head lang="en">
<meta charset="utf-8" />
<title>修改密码</title>
<link rel="stylesheet" type="text/css" href="/css/public.css"/>
<link rel="stylesheet" type="text/css" href="/css/mygrxx.css" />
</head>
<body>
<!------------------------------idea------------------------------>
<div class="address mt">
<div class="wrapper clearfix">
<a href="/product" class="fl">首页</a>
<span>/</span>
<a href="change" class="on">修改密码</a>
</div>
</div>
<!------------------------------Bott------------------------------>
<div class="Bott">
<!--/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/-->
<div class="wrapper clearfix">
<div class="zuo fl">
<h3>
<a href="#"><img th:src="${user.avatar}" width="92" height="92"/></a>
<p class="clearfix"><span th:text="${user.nickName}" class="fl" ></span></p>
</h3>
<div>
<h4>个人中心</h4>
<ul>
<li><a href="/cart">我的购物车</a></li>
<li class="on"><a href="profile">我的信息</a></li>
</ul>
<h4>信息管理</h4>
<ul>
<li><a href="shipping">地址管理</a></li>
<li><a href="change">修改密码</a></li>
</ul>
</div>
</div>
<div class="you fl">
<h2>修改密码</h2>
<form action="#" method="get" class="remima">
<p><span>选择验证身份方式:</span><input type="checkbox" />密码验证 <input type="checkbox" />邮箱验证 </p>
<p><span>原密码:</span><input type="text" /></p>
<p class="op">输入原密码</p>
<p><span>新密码:</span><input type="text" /></p>
<p class="op">6-16 个字符,需使用字母、数字或符号组合,不能使用纯数字、纯字母、纯符号等</p>
<p><span>重复新密码:</span><input type="text" /></p>
<p class="op">请再次输入密码</p>
<p><span>验证码:</span><input type="text" /><img src="/img/temp/code.jpg" alt="" /></p>
<p class="op">按右图输入验证码,不区分大小写</p>
<input type="submit" value="提交" />
</form>
</div>
</div>
</div>
<div class="gotop">
<a href="/cart">
<dl>
<dt><img src="/img/gt1.png"/></dt>
<dd>去购<br />物车</dd>
</dl>
</a>
<a href="profile">
<dl>
<dt><img src="/img/gt3.png"/></dt>
<dd>个人<br />中心</dd>
</dl>
</a>
<a href="#" class="toptop" style="display: none">
<dl>
<dt><img src="/img/gt4.png"/></dt>
<dd>返回<br />顶部</dd>
</dl>
</a>
</div>
<script src="/js/jquery-1.12.4.min.js" type="text/javascript" charset="utf-8"></script>
<script src="/js/public.js" type="text/javascript" charset="utf-8"></script>
<script src="/js/user.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>
+126 -22
View File
@@ -1,31 +1,135 @@
<!--<!DOCTYPE html>-->
<!--<html lang="en" xmlns:th="http://www.thymeleaf.org">-->
<!--<head>-->
<!--<meta charset="UTF-8">-->
<!--<title>我的主页</title>-->
<!--</head>-->
<!--<body>-->
<!--<div>-->
<!--<span>&lt;!&ndash;/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/&ndash;&gt;-->
<!--<img th:src="${user.avatar}"/>-->
<!--</span>-->
<!--&lt;!&ndash;/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/&ndash;&gt;-->
<!--<span th:text="${user.nickName}"></span>-->
<!--<span th:text="${user.phone}"></span>-->
<!--<button id="profile-btn">修改资料</button>-->
<!--</div>-->
<!--<div>-->
<!--<ul>-->
<!--&lt;!&ndash;/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/&ndash;&gt;-->
<!--<li th:each="addr:${user.shippingAddrAddrList}">-->
<!--<span th:text="${addr.getReceiverProvince()}"></span>-->
<!--<span th:text="${addr.getReceiverCity()}"></span>-->
<!--<span th:text="${addr.getReceiverDistrict()}"></span>-->
<!--<span th:text="${addr.getReceiverPhone()}"></span>-->
<!--<span th:text="${addr.getReceiverName()}"></span>-->
<!--</li>-->
<!--</ul>-->
<!--<button id="shipping-btn">编辑收货地址</button>-->
<!--</div>-->
<!--</body>-->
<!--</html>-->
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<html>
<head lang="en">
<meta charset="utf-8" />
<title>我的主页</title>
<link rel="stylesheet" type="text/css" href="css/public.css"/>
<link rel="stylesheet" type="text/css" href="css/mygxin.css" />
</head>
<body>
<div>
<span><!--/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/-->
<img th:src="${user.avatar}"/>
</span>
<div class="address mt" id="add">
<div class="wrapper clearfix">
<a href="product" class="fl">首页</a>
<span>/</span>
<a href="home" class="on">个人中心</a>
</div>
</div>
<!------------------------------Bott------------------------------>
<div class="Bott">
<!--/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/-->
<span th:text="${user.nickName}"></span>
<span th:text="${user.phone}"></span>
<button id="profile-btn">修改资料</button>
<div class="wrapper clearfix">
<div class="zuo fl">
<h3>
<a href="#"><img th:src="${user.avatar}" width="92" height="92"/></a>
<p class="clearfix"><span th:text="${user.nickName}" class="fl" ></span></p>
</h3>
<div>
<h4>个人中心</h4>
<ul>
<li><a href="cart">我的购物车</a></li>
<li class="on"><a href="home/profile">我的信息</a></li>
</ul>
<h4>信息管理</h4>
<ul>
<li><a href="home/shipping">地址管理</a></li>
<li><a href="home/change">修改密码</a></li>
</ul>
</div>
</div>
<div class="you fl">
<div class="tx clearfix">
<div class="fl clearfix">
<a href="#" class="fl"><img th:src="${user.avatar}" width="92" heigh="92"/></a>
</div>
<div th:text="'phone '+${user.phone}" class="fr"></div>
</div>
<div class="bott">
<div class="clearfix">
<a href="#" class="fl"><img src="img/gxin1.jpg"/></a>
<p class="fl"><span><strong>我的购物车</strong></span>
<a href="cart">查看我的购物车></a>
</p>
</div>
<div class="clearfix">
<a href="#" class="fl"><img src="img/gxin2.jpg"/></a>
<p class="fl"><span><strong>我的信息</strong></span>
<a href="home/profile">查看我的信息></a>
</p>
</div>
<div class="clearfix">
<a href="#" class="fl"><img src="img/gxin3.jpg"/></a>
<p class="fl"><span><strong>地址管理</strong></span>
<a href="home/shipping">管理我的地址></a>
</p>
</div>
<div class="clearfix">
<a href="#" class="fl"><img src="img/gxin4.jpg"/></a>
<p class="fl"><span><strong>密码管理</strong></span>
<a href="home/change">修改我的密码></a>
</p>
</div>
</div>
</div>
</div>
</div>
<div>
<ul>
<!--/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/-->
<li th:each="addr:${user.shippingAddrAddrList}">
<span th:text="${addr.getReceiverProvince()}"></span>
<span th:text="${addr.getReceiverCity()}"></span>
<span th:text="${addr.getReceiverDistrict()}"></span>
<span th:text="${addr.getReceiverPhone()}"></span>
<span th:text="${addr.getReceiverName()}"></span>
</li>
</ul>
<button id="shipping-btn">编辑收货地址</button>
<!--返回顶部-->
<div class="gotop">
<a href="cart.html">
<dl>
<dt><img src="img/gt1.png"/></dt>
<dd>去购<br />物车</dd>
</dl>
</a>
<a href="mygxin.html">
<dl>
<dt><img src="img/gt3.png"/></dt>
<dd>个人<br />中心</dd>
</dl>
</a>
<a href="#" class="toptop" style="display: none">
<dl>
<dt><img src="img/gt4.png"/></dt>
<dd>返回<br />顶部</dd>
</dl>
</a>
</div>
<script src="js/jquery-1.12.4.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/public.js" type="text/javascript" charset="utf-8"></script>
<script src="js/user.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>
</html>
+31
View File
@@ -0,0 +1,31 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>我的主页</title>
</head>
<body>
<div>
<span><!--/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/-->
<img th:src="${user.avatar}"/>
</span>
<!--/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/-->
<span th:text="${user.nickName}"></span>
<span th:text="${user.phone}"></span>
<button id="profile-btn">修改资料</button>
</div>
<div>
<ul>
<!--/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/-->
<li th:each="addr:${user.shippingAddrAddrList}">
<span th:text="${addr.getReceiverProvince()}"></span>
<span th:text="${addr.getReceiverCity()}"></span>
<span th:text="${addr.getReceiverDistrict()}"></span>
<span th:text="${addr.getReceiverPhone()}"></span>
<span th:text="${addr.getReceiverName()}"></span>
</li>
</ul>
<button id="shipping-btn">编辑收货地址</button>
</div>
</body>
</html>
+112
View File
@@ -0,0 +1,112 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<html>
<head lang="en">
<meta charset="utf-8" />
<title>个人信息</title>
<link rel="stylesheet" type="text/css" href="/css/public.css"/>
<link rel="stylesheet" type="text/css" href="/css/mygrxx.css" />
</head>
<body>
<!------------------------------idea------------------------------>
<div class="address mt">
<div class="wrapper clearfix">
<a href="/product" class="fl">首页</a>
<span>/</span>
<a href="profile" class="on">个人信息</a>
</div>
</div>
<!------------------------------Bott------------------------------>
<div class="Bott">
<!--/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/-->
<div class="wrapper clearfix">
<div class="zuo fl">
<h3>
<a href="#"><img th:src="${user.avatar}" width="92" height="92"/></a>
<p class="clearfix"><span th:text="${user.nickName}" class="fl" ></span></p>
</h3>
<div>
<h4>个人中心</h4>
<ul>
<li><a href="/cart">我的购物车</a></li>
<li class="on"><a href="profile">我的信息</a></li>
</ul>
<h4>信息管理</h4>
<ul>
<li><a href="shipping">地址管理</a></li>
<li><a href="change">修改密码</a></li>
</ul>
</div>
</div>
<div class="you fl">
<h2>个人信息</h2>
<div class="gxin">
<div class="tx"><a href="#"><img th:src="${user.avatar}" width="92" height="92"/><p id="avatar">修改头像</p></a></div>
<div class="xx">
<h3 class="clearfix"><strong class="fl">基础资料</strong><a href="#" class="fr" id="edit1">编辑</a></h3>
<div><span >姓名:</span><span th:text="${user.nickName}"></span></div>
<!--/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/-->
<div th:each="addr:${user.shippingAddrAddrList}">
<span>地址:</span><span th:text="${addr.getReceiverProvince()}"></span>
<span th:text="${addr.getReceiverCity()}"></span>
<span th:text="${addr.getReceiverDistrict()}"></span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="gotop">
<a href="/cart">
<dl>
<dt><img src="/img/gt1.png"/></dt>
<dd>去购<br />物车</dd>
</dl>
</a>
<a href="profile">
<dl>
<dt><img src="/img/gt3.png"/></dt>
<dd>个人<br />中心</dd>
</dl>
</a>
<a href="#" class="toptop" style="display: none">
<dl>
<dt><img src="/img/gt4.png"/></dt>
<dd>返回<br />顶部</dd>
</dl>
</a>
</div>
<!--遮罩-->
<div class="mask"></div>
<!--编辑弹框-->
<div class="bj">
<div class="clearfix"><a href="#" class="fr gb"><img src="/img/icon4.png"/></a></div>
<h3>编辑基础资料</h3>
<form action="#" method="get">
<p><label>姓名:</label><input type="text" value="" /></p>
<p><label>地址:</label><input type="text" /></p>
<div class="bc">
<input type="button" value="保存" />
<input type="button" value="取消" />
</div>
</form>
</div>
<!--修改头像-->
<div class="avatar">
<div class="clearfix"><a href="#" class="fr gb"><img src="/img/icon4.png"/></a></div>
<h3>修改头像</h3>
<form action="#" method="get">
<h4>请上传图片</h4>
<input type="button" value="上传头像" />
<p>jpg或png,大小不超过2M</p>
<input type="submit" value="提交" />
</form>
</div>
<script src="/js/jquery-1.12.4.min.js" type="text/javascript" charset="utf-8"></script>
<script src="/js/public.js" type="text/javascript" charset="utf-8"></script>
<script src="/js/user.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>
+4 -4
View File
@@ -27,11 +27,11 @@
<div class="orderCon wrapper clearfix">
<div class="orderL fl">
<!--------h3---------------->
<h3>收件信息<a href="#" class="fr">新增地址</a></h3>
<h3>收件信息<a href="#" class="fr"></a></h3>
<!--------addres---------------->
<!--/*@thymesVar id="shippingAddrList" type="java.util.Set<edu.neu.neumall.entity.ShippingAddr>"*/-->
<div th:each="addr:${shippingAddrList}" class="addres clearfix">
<div class="addre fl on">
<div class="addre fl on" >
<div class="tit clearfix">
<p th:text="${addr.getReceiverName()}" class="fl">
<span class="default">[默认地址]</span>
@@ -43,7 +43,7 @@
</p>
</div>
<div class="addCon">
<p th:text="${addr.getReceiverProvince()}+nbsp+${addr.getReceiverCity()}+nbsp+${addr.getReceiverDistrict()}"></p>
<p th:text="${addr.getReceiverProvince()}+' '+${addr.getReceiverCity()}+' '+${addr.getReceiverDistrict()}"></p>
<p th:text="${addr.getReceiverPhone()}"></p>
</div>
</div>
@@ -67,7 +67,7 @@
</div>
<div class="orderR fr">
<div class="msg">
<h3>订单内容<a href="cart.html" class="fr">返回购物车</a></h3>
<h3>订单内容<a href="cart" class="fr">返回购物车</a></h3>
<!--------ul---------------->
<ul class="clearfix">
<li class="fl">
+117
View File
@@ -0,0 +1,117 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<html>
<head lang="en">
<meta charset="utf-8" />
<title>地址管理</title>
<link rel="stylesheet" type="text/css" href="/css/public.css"/>
<link rel="stylesheet" type="text/css" href="/css/mygxin.css" />
</head>
<body>
<!------------------------------idea------------------------------>
<div class="address mt">
<div class="wrapper clearfix">
<a href="/product" class="fl">首页</a>
<span>/</span>
<a href="shipping" class="on">地址管理</a>
</div>
</div>
<!------------------------------Bott------------------------------>
<div class="Bott">
<!--/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/-->
<div class="wrapper clearfix">
<div class="zuo fl">
<h3>
<a href="#"><img th:src="${user.avatar}" width="92" height="92"/></a>
<p class="clearfix"><span th:text="${user.nickName}" class="fl" ></span></p>
</h3>
<div>
<h4>个人中心</h4>
<ul>
<li><a href="/cart">我的购物车</a></li>
<li class="on"><a href="profile">我的信息</a></li>
</ul>
<h4>信息管理</h4>
<ul>
<li><a href="shipping">地址管理</a></li>
<li><a href="change">修改密码</a></li>
</ul>
</div>
</div>
<div class="you fl">
<h2>收货地址</h2>
<div class="add">
<div>
<a href="#2" id="addxad"><img src="/img/jia.png"/></a>
<span>添加新地址</span>
</div>
<div id="dizhi">
<!--/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/-->
<p th:text="${user.nickName}"></p>
<p th:text="${user.phone}"></p>
<p th:each="addr:${user.shippingAddrAddrList}">
<span>地址:</span><span th:text="${addr.getReceiverProvince()}"></span>
<span th:text="${addr.getReceiverCity()}"></span>
<span th:text="${addr.getReceiverDistrict()}"></span>
</p>
</div>
</div>
</div>
</div>
</div>
<div class="gotop">
<a href="/cart">
<dl>
<dt><img src="/img/gt1.png"/></dt>
<dd>去购<br />物车</dd>
</dl>
</a>
<a href="profile">
<dl>
<dt><img src="/img/gt3.png"/></dt>
<dd>个人<br />中心</dd>
</dl>
</a>
<a href="#" class="toptop" style="display: none">
<dl>
<dt><img src="/img/gt4.png"/></dt>
<dd>返回<br />顶部</dd>
</dl>
</a>
</div>
<div class="mask"></div>
<div class="adddz">
<form action="#" method="get">
<input type="text" placeholder="姓名" class="on" />
<input type="text" placeholder="手机号" />
<textarea name="" rows="" cols="" placeholder="详细地址"></textarea>
<div class="bc">
<input type="button" value="保存" />
<input type="button" value="取消" />
</div>
</form>
</div>
<!--/*@thymesVar id="user" type="edu.neu.neumall.entity.User"*/-->
<div class="readd">
<form action="#" method="get">
<input type="text" class="on" placeholder="姓名" value="" />
<input type="text" placeholder="电话" value="" />
<textarea name="" rows="" cols="" placeholder="详细地址"></textarea>
<div class="bc">
<input type="button" value="保存" />
<input type="button" value="取消" />
</div>
</form>
</div>
<script src="/js/jquery-1.12.4.min.js" type="text/javascript" charset="utf-8"></script>
<script src="/js/public.js" type="text/javascript" charset="utf-8"></script>
<script src="/js/user.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>