Java高级架构师(一)第28节:Index、商品详细页和购物车
- <%@ page language="java" contentType="text/html; charset=utf-8"
- pageEncoding="utf-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>Insert title here</title>
- <link href="${pageContext.request.contextPath}/static/css/application.css" rel="stylesheet">
- <script src="${pageContext.request.contextPath}/static/js/application.js"></script>
- <script src="${pageContext.request.contextPath}/static/js/jquery-1.11.0.js"></script>
- </head>
- <body>
- <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- <%@taglib prefix="myTag" tagdir="/WEB-INF/tags" %>
- <table width="70%" align="center">
- <tr>
- <td colspan=4><a href="${pageContext.request.contextPath}/toCart">查看购物车</a></td>
- </tr>
- <c:set var="num" value="0"></c:set>
- <c:forEach var="m" items="${page.result}">
- <c:if test="${num==0}">
- <tr>
- </c:if>
- <td>
- <a href="${pageContext.request.contextPath}/toGoodsDesc/${m.uuid}">
- <table>
- <tr>
- <td><img alt="" src="${pageContext.request.contextPath}/static/images/logo.jpg"/></td>
- <td>${m.description }</td>
- </tr>
- <tr>
- <td>${m.name }</td>
- </tr>
- </table>
- </a>
- </td>
- <c:set var="num" value="${num+1}"></c:set>
- <c:if test="${num==3}">
- <c:set var="num" value="0"></c:set>
- </tr>
- </c:if>
- </c:forEach>
- </table>
- </body>
- </html>
关于Goods的控制器
- package com.sishuok.architecture1.goodsmgr.web;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.ModelAttribute;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import com.sishuok.architecture1.goodsmgr.service.IGoodsService;
- import com.sishuok.architecture1.goodsmgr.vo.GoodsModel;
- import com.sishuok.architecture1.goodsmgr.vo.GoodsQueryModel;
- import com.sishuok.pageutil.Page;
- import com.sishuok.util.format.DateFormatHelper;
- import com.sishuok.util.json.JsonHelper;
- @Controller
- @RequestMapping(value="/goods")
- public class GoodsController {
- @Autowired
- private IGoodsService iservice = null;
- @RequestMapping(value="toAdd",method=RequestMethod.GET)
- public String toAdd(){
- return "goods/add";
- }
- @RequestMapping(value="add",method=RequestMethod.POST)
- public String add(@ModelAttribute("m") GoodsModel m){
- iservice.create(m);
- return "goods/success";
- }
- @RequestMapping(value="toUpdate/{uuid}",method=RequestMethod.GET)
- public String toUpdate(Model model,@PathVariable("uuid") int uuid){
- GoodsModel m = iservice.getByUuid(uuid);
- model.addAttribute("m", m);
- return "goods/update";
- }
- @RequestMapping(value="update",method=RequestMethod.POST)
- public String post(@ModelAttribute("m") GoodsModel m){
- iservice.update(m);
- return "goods/success";
- }
- @RequestMapping(value="toDelete/{uuid}",method=RequestMethod.GET)
- public String toDelete(Model model,@PathVariable("uuid") int uuid){
- GoodsModel m = iservice.getByUuid(uuid);
- model.addAttribute("m", m);
- return "goods/delete";
- }
- @RequestMapping(value="delete",method=RequestMethod.POST)
- public String post(@RequestParam("uuid") int uuid){
- iservice.delete(uuid);
- return "goods/success";
- }
- @RequestMapping(value="toList",method=RequestMethod.GET)
- public String toList(@ModelAttribute("wm")GoodsWebModel wm,Model model){
- GoodsQueryModel qm = null;
- if(wm.getQueryJsonStr()==null || wm.getQueryJsonStr().trim().length()==0){
- qm = new GoodsQueryModel();
- }else{
- String s = wm.getQueryJsonStr();
- s = s.replace("-", "%");
- qm = (GoodsQueryModel)JsonHelper.str2Object(s, GoodsQueryModel.class);
- }
- qm.getPage().setNowPage(wm.getNowPage());
- if(wm.getPageShow() > 0){
- qm.getPage().setPageShow(wm.getPageShow());
- }
- Page dbPage = iservice.getByConditionPage(qm);
- //
- model.addAttribute("wm", wm);
- model.addAttribute("page", dbPage);
- return "goods/list";
- }
- @RequestMapping(value="toQuery",method=RequestMethod.GET)
- public String toQuery(){
- return "goods/query";
- }
- }
Java高级架构师(一)第28节:Index、商品详细页和购物车的更多相关文章
- Java高级架构师(一)第01节:整体课程概览
本课程专注于构建:高可扩展性.高性能.大数据量.高并发.分布式的系统架构. 从零开始.全面系统.成体系的软件架构课程,循序渐进的讲述构建上述系统架构所需要的各种技术知识和技能. 适应人群: 1:有一定 ...
- 好好讲一讲,到底什么是Java高级架构师!
一. 什么是架构师 曾经有这么个段子: 甲:我已经应聘到一家中型软件公司了,今天上班的时候,全公司的人都来欢迎我. 乙:羡慕ing,都什么人来了? 甲:CEO.COO.CTO.All of 程序员,还 ...
- JAVA高级架构师基础功:Spring中AOP的两种代理方式:动态代理和CGLIB详解
在spring框架中使用了两种代理方式: 1.JDK自带的动态代理. 2.Spring框架自己提供的CGLIB的方式. 这两种也是Spring框架核心AOP的基础. 在详细讲解上述提到的动态代理和CG ...
- 图灵,咕泡,鲁班学院--Java高级架构师-互联网企业级实战VIP课程(价值6380)
课程介绍: 讲课内容涉及Java互联网技术工程框架.应用框架. 性能调优 (Tomcat Nginx JVM) 分布式框架(并发编程 Zookeeper N ...
- Java高级架构师(一)第42节:应用上Nginx过后的体系结构
以后的架构思考方向: 体系结构的演变
- Java高级架构师(一)第31节:Nginx简介、安装和基本运行
第一节:主要介绍Nginx和安装
- Java高级架构师(一)第26节:测试并调整登录的业务功能
主Index的处理Java: package com.sishuok.architecture1; import org.springframework.beans.factory.annotatio ...
- Java高级架构师(一)第25节:实现前端的业务登录等功能
package com.sishuok.architecture1; import javax.servlet.http.Cookie; import javax.servlet.http.HttpS ...
- Java高级架构师(一)第19节:X-gen生成相应的Visitor
package cn.javass.themes.smvcsm.visitors; import cn.javass.xgen.genconf.vo.ExtendConfModel; import c ...
随机推荐
- 公共css
* { margin: 0; padding: 0; word-break: break-all; font-family: Microsoft YaHei, tahoma, arial, Hirag ...
- Java并发(5)- ReentrantLock与AQS
引言 在synchronized未优化之前,我们在编码中使用最多的同步工具类应该是ReentrantLock类,ReentrantLock拥有优化后synchronized关键字的性能,又提供了更多的 ...
- sql注入预防
在我们登陆验证时会发现sql注入的现象. 1.sql注入发生原因 因为如果用户在用户名上输入的是' or 1=1 # 时,我们得到的sql语句是select * from shop_user wher ...
- cube中的判断类型
import { createAddAPI } from '../util' const DATE_RE = /^(1|2)\d{3}[.\-/]\d{1,2}[.\-/]\d{1,2}$/ cons ...
- Swift 学习之二十一:?和 !(详解)
http://blog.csdn.net/woaifen3344/article/details/30244201 Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始 ...
- python通过POST提交页面请求
http://blog.csdn.net/liyzh_inspur/article/details/6294292 #网页POST提交数据 import urllibimport urllib2url ...
- ARM 中断状态和SVC状态的堆栈切换 (异常)【转】
转自:http://blog.csdn.net/edwardlulinux/article/details/9261393 版权声明:本文为博主原创文章,未经博主允许不得转载. ARM 中断状态和SV ...
- 时间戳 JS PHP MYSQL
Unix 时间戳 Unix timestamp ('1970-01-01 00:00:00' GMT 之后的秒数) JS var strtime = '2014-04-23 18:55:49:123 ...
- k8s的回滚应用
kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision. 默认配置下,Kubernet ...
- JSON格式数据的js操作
第一种方式: 使用js函数eval(); testJson=eval(testJson);是错误的转换方式. 正确的转换方式需要加(): testJson = eval("(" + ...