1
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package edu.neu.neumall.controller;
|
||||
|
||||
import edu.neu.neumall.entity.Product;
|
||||
import edu.neu.neumall.entity.User;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@@ -7,12 +8,22 @@ import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/cart")
|
||||
public class ShoppingCartController {
|
||||
@GetMapping
|
||||
public String shoppingCartPage(@AuthenticationPrincipal User user, Model model) {
|
||||
model.addAttribute("cart", user.getShoppingCart());
|
||||
return "";
|
||||
ArrayList<Product> products = new ArrayList<>();
|
||||
var shoppingCartItems = user.getShoppingCart();
|
||||
if (shoppingCartItems != null) {
|
||||
for (var item : shoppingCartItems) {
|
||||
|
||||
products.add(item.getProduct());
|
||||
}
|
||||
}
|
||||
model.addAttribute("products", products);
|
||||
return "cart.html";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head lang="en">
|
||||
<meta charset="utf-8" />
|
||||
<title>cart</title>
|
||||
<link rel="stylesheet" type="text/css" href="/css/public.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="/css/proList.css" />
|
||||
</head>
|
||||
<body>
|
||||
<!--/*@thymesVar id="cart" type="java.util.Set<.neu.neumall.entity.ShoppingCart>"*/-->
|
||||
<div th:each="item:${cart}" class="cart mt">
|
||||
<!-----------------site------------------->
|
||||
<div class="site">
|
||||
<p class=" wrapper clearfix">
|
||||
<span class="fl">购物车</span>
|
||||
<img class="top" src="img/temp/cartTop01.png">
|
||||
<a href="index.html" class="fr">继续购物></a>
|
||||
</p>`
|
||||
</div>
|
||||
<!-----------------table------------------->
|
||||
<div class="table wrapper">
|
||||
<div class="tr">
|
||||
<div>商品</div>
|
||||
<div>单价</div>
|
||||
<div>数量</div>
|
||||
<div>小计</div>
|
||||
<div>操作</div>
|
||||
</div>
|
||||
<div class="th">
|
||||
<div class="pro clearfix">
|
||||
<label class="fl">
|
||||
<input type="checkbox"/>
|
||||
<span></span>
|
||||
</label>
|
||||
<a class="fl" href="#">
|
||||
<dl class="clearfix">
|
||||
<dt class="fl"><img src="img/temp/cart01.jpg"></dt>
|
||||
<dd class="fl">
|
||||
<p th:text="${item}"></p>
|
||||
</dd>
|
||||
</dl>
|
||||
</a>
|
||||
</div>
|
||||
<div class="price">¥20.00</div>
|
||||
<div class="number">
|
||||
<p class="num clearfix">
|
||||
<img class="fl sub" src="img/temp/sub.jpg">
|
||||
<span class="fl">1</span>
|
||||
<img class="fl add" src="img/temp/add.jpg">
|
||||
</p>
|
||||
</div>
|
||||
<div class="price sAll">¥20.00</div>
|
||||
<div class="price"><a class="del" href="#2">删除</a></div>
|
||||
</div>
|
||||
<div class="goOn">空空如也~<a href="index.html">去逛逛</a></div>
|
||||
<div class="tr clearfix">
|
||||
<label class="fl">
|
||||
<input class="checkAll" type="checkbox"/>
|
||||
<span></span>
|
||||
</label>
|
||||
<p class="fl">
|
||||
<a href="#">全选</a>
|
||||
<a href="#" class="del">删除</a>
|
||||
</p>
|
||||
<p class="fr">
|
||||
<span>共<small id="sl">0</small>件商品</span>
|
||||
<span>合计: <small id="all">¥0.00</small></span>
|
||||
<a href="order.html" class="count">结算</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mask"></div>
|
||||
<div class="tipDel">
|
||||
<p>确定要删除该商品吗?</p>
|
||||
<p class="clearfix">
|
||||
<a class="fl cer" href="#">确定</a>
|
||||
<a class="fr cancel" href="#">取消</a>
|
||||
</p>
|
||||
</div>
|
||||
<!--返回顶部-->
|
||||
<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/pro.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="js/cart.js" type="text/javascript" charset="utf-8"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,10 +1,108 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Cart</title>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head lang="en">
|
||||
<meta charset="utf-8" />
|
||||
<title>cart</title>
|
||||
<link rel="stylesheet" type="text/css" href="/css/public.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="/css/proList.css" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!--/*@thymesVar id="cart" type="java.util.Set<.neu.neumall.entity.ShoppingCart>"*/-->
|
||||
<!--th:each="item:${cart}"-->
|
||||
<div class="cart mt">
|
||||
<!-----------------site------------------->
|
||||
<div class="site">
|
||||
<p class=" wrapper clearfix">
|
||||
<span class="fl">购物车</span>
|
||||
<img class="top" src="img/temp/cartTop01.png">
|
||||
<a href="index.html" class="fr">继续购物></a>
|
||||
</p>`
|
||||
</div>
|
||||
<!-----------------table------------------->
|
||||
<div class="table wrapper">
|
||||
<div class="tr">
|
||||
<div>商品</div>
|
||||
<div>单价</div>
|
||||
<div>数量</div>
|
||||
<div>小计</div>
|
||||
<div>操作</div>
|
||||
</div>
|
||||
<div class="th">
|
||||
<div class="pro clearfix">
|
||||
<label class="fl">
|
||||
<input type="checkbox"/>
|
||||
<span></span>
|
||||
</label>
|
||||
<a class="fl" href="#">
|
||||
<dl class="clearfix">
|
||||
<dt class="fl"><img src="img/temp/cart01.jpg"></dt>
|
||||
<dd class="fl">
|
||||
<p th:text="${item}"></p>
|
||||
</dd>
|
||||
</dl>
|
||||
</a>
|
||||
</div>
|
||||
<div class="price">¥20.00</div>
|
||||
<div class="number">
|
||||
<p class="num clearfix">
|
||||
<img class="fl sub" src="img/temp/sub.jpg">
|
||||
<span class="fl">1</span>
|
||||
<img class="fl add" src="img/temp/add.jpg">
|
||||
</p>
|
||||
</div>
|
||||
<div class="price sAll">¥20.00</div>
|
||||
<div class="price"><a class="del" href="#2">删除</a></div>
|
||||
</div>
|
||||
<div class="goOn">空空如也~<a href="index.html">去逛逛</a></div>
|
||||
<div class="tr clearfix">
|
||||
<label class="fl">
|
||||
<input class="checkAll" type="checkbox"/>
|
||||
<span></span>
|
||||
</label>
|
||||
<p class="fl">
|
||||
<a href="#">全选</a>
|
||||
<a href="#" class="del">删除</a>
|
||||
</p>
|
||||
<p class="fr">
|
||||
<span>共<small id="sl">0</small>件商品</span>
|
||||
<span>合计: <small id="all">¥0.00</small></span>
|
||||
<a href="order.html" class="count">结算</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mask"></div>
|
||||
<div class="tipDel">
|
||||
<p>确定要删除该商品吗?</p>
|
||||
<p class="clearfix">
|
||||
<a class="fl cer" href="#">确定</a>
|
||||
<a class="fr cancel" href="#">取消</a>
|
||||
</p>
|
||||
</div>
|
||||
<!--返回顶部-->
|
||||
<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/pro.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="js/cart.js" type="text/javascript" charset="utf-8"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user