1. <%@ page language="java" contentType="text/html; charset=utf-8"
  2. pageEncoding="utf-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  7. <title>Insert title here</title>
  8. <link href="${pageContext.request.contextPath}/static/css/application.css" rel="stylesheet">
  9. <script src="${pageContext.request.contextPath}/static/js/application.js"></script>
  10. <script src="${pageContext.request.contextPath}/static/js/jquery-1.11.0.js"></script>
  11. </head>
  12. <body>
  13. <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  14. <%@taglib prefix="myTag" tagdir="/WEB-INF/tags" %>
  15.  
  16. <table width="70%" align="center">
  17. <tr>
  18. <td colspan=4><a href="${pageContext.request.contextPath}/toCart">查看购物车</a></td>
  19. </tr>
  20. <c:set var="num" value="0"></c:set>
  21. <c:forEach var="m" items="${page.result}">
  22. <c:if test="${num==0}">
  23. <tr>
  24. </c:if>
  25. <td>
  26. <a href="${pageContext.request.contextPath}/toGoodsDesc/${m.uuid}">
  27. <table>
  28. <tr>
  29. <td><img alt="" src="${pageContext.request.contextPath}/static/images/logo.jpg"/></td>
  30. <td>${m.description }</td>
  31. </tr>
  32. <tr>
  33. <td>${m.name }</td>
  34. </tr>
  35. </table>
  36. </a>
  37. </td>
  38. <c:set var="num" value="${num+1}"></c:set>
  39. <c:if test="${num==3}">
  40. <c:set var="num" value="0"></c:set>
  41. </tr>
  42. </c:if>
  43. </c:forEach>
  44. </table>
  45.  
  46. </body>
  47. </html>

关于Goods的控制器

  1. package com.sishuok.architecture1.goodsmgr.web;
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Controller;
  5. import org.springframework.ui.Model;
  6. import org.springframework.web.bind.annotation.ModelAttribute;
  7. import org.springframework.web.bind.annotation.PathVariable;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RequestMethod;
  10. import org.springframework.web.bind.annotation.RequestParam;
  11.  
  12. import com.sishuok.architecture1.goodsmgr.service.IGoodsService;
  13. import com.sishuok.architecture1.goodsmgr.vo.GoodsModel;
  14. import com.sishuok.architecture1.goodsmgr.vo.GoodsQueryModel;
  15. import com.sishuok.pageutil.Page;
  16. import com.sishuok.util.format.DateFormatHelper;
  17. import com.sishuok.util.json.JsonHelper;
  18.  
  19. @Controller
  20. @RequestMapping(value="/goods")
  21. public class GoodsController {
  22. @Autowired
  23. private IGoodsService iservice = null;
  24.  
  25. @RequestMapping(value="toAdd",method=RequestMethod.GET)
  26. public String toAdd(){
  27.  
  28. return "goods/add";
  29. }
  30. @RequestMapping(value="add",method=RequestMethod.POST)
  31. public String add(@ModelAttribute("m") GoodsModel m){
  32. iservice.create(m);
  33. return "goods/success";
  34. }
  35. @RequestMapping(value="toUpdate/{uuid}",method=RequestMethod.GET)
  36. public String toUpdate(Model model,@PathVariable("uuid") int uuid){
  37. GoodsModel m = iservice.getByUuid(uuid);
  38. model.addAttribute("m", m);
  39. return "goods/update";
  40. }
  41. @RequestMapping(value="update",method=RequestMethod.POST)
  42. public String post(@ModelAttribute("m") GoodsModel m){
  43. iservice.update(m);
  44. return "goods/success";
  45. }
  46. @RequestMapping(value="toDelete/{uuid}",method=RequestMethod.GET)
  47. public String toDelete(Model model,@PathVariable("uuid") int uuid){
  48. GoodsModel m = iservice.getByUuid(uuid);
  49. model.addAttribute("m", m);
  50. return "goods/delete";
  51. }
  52. @RequestMapping(value="delete",method=RequestMethod.POST)
  53. public String post(@RequestParam("uuid") int uuid){
  54. iservice.delete(uuid);
  55. return "goods/success";
  56. }
  57. @RequestMapping(value="toList",method=RequestMethod.GET)
  58. public String toList(@ModelAttribute("wm")GoodsWebModel wm,Model model){
  59. GoodsQueryModel qm = null;
  60. if(wm.getQueryJsonStr()==null || wm.getQueryJsonStr().trim().length()==0){
  61. qm = new GoodsQueryModel();
  62. }else{
  63. String s = wm.getQueryJsonStr();
  64. s = s.replace("-", "%");
  65. qm = (GoodsQueryModel)JsonHelper.str2Object(s, GoodsQueryModel.class);
  66. }
  67.  
  68. qm.getPage().setNowPage(wm.getNowPage());
  69. if(wm.getPageShow() > 0){
  70. qm.getPage().setPageShow(wm.getPageShow());
  71. }
  72.  
  73. Page dbPage = iservice.getByConditionPage(qm);
  74.  
  75. //
  76. model.addAttribute("wm", wm);
  77. model.addAttribute("page", dbPage);
  78.  
  79. return "goods/list";
  80. }
  81. @RequestMapping(value="toQuery",method=RequestMethod.GET)
  82. public String toQuery(){
  83. return "goods/query";
  84. }
  85. }

  

 

Java高级架构师(一)第28节:Index、商品详细页和购物车的更多相关文章

  1. Java高级架构师(一)第01节:整体课程概览

    本课程专注于构建:高可扩展性.高性能.大数据量.高并发.分布式的系统架构. 从零开始.全面系统.成体系的软件架构课程,循序渐进的讲述构建上述系统架构所需要的各种技术知识和技能. 适应人群: 1:有一定 ...

  2. 好好讲一讲,到底什么是Java高级架构师!

    一. 什么是架构师 曾经有这么个段子: 甲:我已经应聘到一家中型软件公司了,今天上班的时候,全公司的人都来欢迎我. 乙:羡慕ing,都什么人来了? 甲:CEO.COO.CTO.All of 程序员,还 ...

  3. JAVA高级架构师基础功:Spring中AOP的两种代理方式:动态代理和CGLIB详解

    在spring框架中使用了两种代理方式: 1.JDK自带的动态代理. 2.Spring框架自己提供的CGLIB的方式. 这两种也是Spring框架核心AOP的基础. 在详细讲解上述提到的动态代理和CG ...

  4. 图灵,咕泡,鲁班学院--Java高级架构师-互联网企业级实战VIP课程(价值6380)

    课程介绍:        讲课内容涉及Java互联网技术工程框架.应用框架.        性能调优 (Tomcat Nginx JVM)         分布式框架(并发编程 Zookeeper N ...

  5. Java高级架构师(一)第42节:应用上Nginx过后的体系结构

    以后的架构思考方向: 体系结构的演变

  6. Java高级架构师(一)第31节:Nginx简介、安装和基本运行

    第一节:主要介绍Nginx和安装

  7. Java高级架构师(一)第26节:测试并调整登录的业务功能

    主Index的处理Java: package com.sishuok.architecture1; import org.springframework.beans.factory.annotatio ...

  8. Java高级架构师(一)第25节:实现前端的业务登录等功能

    package com.sishuok.architecture1; import javax.servlet.http.Cookie; import javax.servlet.http.HttpS ...

  9. Java高级架构师(一)第19节:X-gen生成相应的Visitor

    package cn.javass.themes.smvcsm.visitors; import cn.javass.xgen.genconf.vo.ExtendConfModel; import c ...

随机推荐

  1. 公共css

    * { margin: 0; padding: 0; word-break: break-all; font-family: Microsoft YaHei, tahoma, arial, Hirag ...

  2. Java并发(5)- ReentrantLock与AQS

    引言 在synchronized未优化之前,我们在编码中使用最多的同步工具类应该是ReentrantLock类,ReentrantLock拥有优化后synchronized关键字的性能,又提供了更多的 ...

  3. sql注入预防

    在我们登陆验证时会发现sql注入的现象. 1.sql注入发生原因 因为如果用户在用户名上输入的是' or 1=1 # 时,我们得到的sql语句是select * from shop_user wher ...

  4. cube中的判断类型

    import { createAddAPI } from '../util' const DATE_RE = /^(1|2)\d{3}[.\-/]\d{1,2}[.\-/]\d{1,2}$/ cons ...

  5. Swift 学习之二十一:?和 !(详解)

    http://blog.csdn.net/woaifen3344/article/details/30244201 Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始 ...

  6. python通过POST提交页面请求

    http://blog.csdn.net/liyzh_inspur/article/details/6294292 #网页POST提交数据 import urllibimport urllib2url ...

  7. ARM 中断状态和SVC状态的堆栈切换 (异常)【转】

    转自:http://blog.csdn.net/edwardlulinux/article/details/9261393 版权声明:本文为博主原创文章,未经博主允许不得转载. ARM 中断状态和SV ...

  8. 时间戳 JS PHP MYSQL

    Unix 时间戳  Unix timestamp ('1970-01-01 00:00:00' GMT 之后的秒数) JS var strtime = '2014-04-23 18:55:49:123 ...

  9. k8s的回滚应用

    kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision. 默认配置下,Kubernet ...

  10. JSON格式数据的js操作

    第一种方式: 使用js函数eval(); testJson=eval(testJson);是错误的转换方式. 正确的转换方式需要加(): testJson = eval("(" + ...