在15-seckill-web中的GoodsController中添加跳轉詳情頁的方法,并將商品信息傳遞給前端頁面
@GetMapping("/seckill/goods/{id}")
public String item(@PathVariable("id") Integer id,Model model){
//根據商品id,從Redis中獲取商品Json字符串
String goodsJSON = redisTemplate.opsForValue().get(Constants.REDIS_GOODS + id);
Goods goods = JSONObject.parseObject(goodsJSON,Goods.class);
model.addAttribute("goods",goods);
//因為在詳情頁需要顯示秒殺按鈕,所有我們將服務器當前時間傳遞給詳情頁
model.addAttribute("currentTime",System.currentTimeMillis());
return "item";
}
在15-seckill-web中templates下定義商品詳情頁item.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>秒殺商品詳情頁</title>
</head>
<body th:inline="text" style="margin: 50px;">
<!--左側div-->
<div style="float: left">
<a th:href="@{'/seckill/goods/' + ${goods.getId()}}" target="_blank">
<img th:src="@{${goods.imageurl}}"><br>
</a>
</div>
<!--右側div-->
<div style="float: left">
<p>
<a th:href="@{'/seckill/goods/' + ${goods.getId()}}" target="_blank">
[[${goods.name}]] [[${goods.namedesc}]]<br>
</a>
</p>
<p>
<span style="color: red;font-size:22px;font-weight: bold;">[[${goods.price}]]</span>
</p>
<p>
剩余:[[${goods.store}]]件
</p>
</div>
</body>
</html>