Easyui项目之添加购物车、清空购物车
添加购物车、清空购物车
添加购物车的三种方式
一:session保存购物车信息到session服务端
1.点击我的购物车查询后台的session,通过用户账号去找2.如果有那就显示,如果没有不显示
3.添加购物车,将数据加入两个地方;前台html显示,后台的session通过userid进行保存session内容
4.清空购物车,清空session
注意:所有购物车相关的操作应该先登录!!二、cookie保存购物车效率要更高客户端不安全
三、数据库
(cookie和数据库两种方法和session差不多)
实现
第一步:创建所需的实体类(ShoppingVo )
package com.sg.vo;public class ShoppingVo { // 购物车列表订单项所需数据private String name;private float price;private int num;private float total;// 提交订单所需数据private String consignee;private String phone;private String postalcode;private String address;private int sendType;// 页面的所有传参字符串private String pageStr;public String getName() {return name; }public void setName(String name) {this.name = name; }public float getPrice() {return price; }public void setPrice(float price) {this.price = price; }public int getNum() {return num; }public void setNum(int num) {this.num = num; }public float getTotal() {return total; }public void setTotal(float total) {this.total = total; }public String getConsignee() {return consignee; }public void setConsignee(String consignee) {this.consignee = consignee; }public String getPhone() {return phone; }public void setPhone(String phone) {this.phone = phone; }public String getPostalcode() {return postalcode; }public void setPostalcode(String postalcode) {this.postalcode = postalcode; }public String getAddress() {return address; }public void setAddress(String address) {this.address = address; }public int getSendType() {return sendType; }public void setSendType(int sendType) {this.sendType = sendType; }public String getPageStr() {return pageStr; }public void setPageStr(String pageStr) {this.pageStr = pageStr; }@Override public String toString() {return "ShoppingVo [name=" + name + ", price=" + price + ", num=" + num + ", total=" + total + ", consignee="+ consignee + ", phone=" + phone + ", postalcode=" + postalcode + ", address=" + address + ", sendType="+ sendType + ", pageStr=" + pageStr + "]"; }public ShoppingVo() {// TODO Auto-generated constructor stub } }
第二步:写web层(ShoppingAction )
思路:
新增购物车
package com.sg.web;import java.util.ArrayList; import java.util.List;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;import com.fasterxml.jackson.databind.ObjectMapper; import com.sg.entity.User; import com.sg.vo.ShoppingVo; import com.zking.framework.ActionSupport; import com.zking.framework.ModelDriver; import com.zking.util.ResponseUtil; import com.zking.util.StringUtils;public class ShoppingAction extends ActionSupport implements ModelDriver<ShoppingVo> {private ShoppingVo vo = new ShoppingVo();@Overridepublic ShoppingVo getModel() {// TODO Auto-generated method stubreturn vo;}/*** 添加购物车* * @param req* @param resp* @return*/public String add(HttpServletRequest req, HttpServletResponse resp) {// TODO Auto-generated method stubHttpSession session = req.getSession();User cuser = (User) session.getAttribute("cuser");ObjectMapper om = new ObjectMapper();try {if (cuser != null) {long uid = cuser.getId();List<ShoppingVo> shopGoodsVos = null;String shoppingInfo = (String) session.getAttribute("shopping_" + uid);if (StringUtils.isNotBlank(shoppingInfo)) {shopGoodsVos=om.readValue(shoppingInfo, List.class);} else {shopGoodsVos = new ArrayList<ShoppingVo>();}shopGoodsVos.add(vo);session.setAttribute("shopping_"+uid, om.writeValueAsString(shopGoodsVos));req.setAttribute("shopGoodsVos", shopGoodsVos);}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}return "shoppingCar";}/*** 清空购物车*/public void clear(HttpServletRequest req, HttpServletResponse resp) {// TODO Auto-generated method stubHttpSession session = req.getSession();User cuser = (User) session.getAttribute("cuser");session.removeAttribute("shopping_"+cuser.getId());try {ResponseUtil.writeJson(resp, 1);} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}/*** 查询*/public String list(HttpServletRequest req, HttpServletResponse resp) {// TODO Auto-generated method stubHttpSession session = req.getSession();User cuser = (User) session.getAttribute("cuser");ObjectMapper om = new ObjectMapper();String shoppingInfo=(String)session.getAttribute("shopping_"+cuser.getId());try {List<ShoppingVo> shopGoodsVos=om.readValue(shoppingInfo, List.class);req.setAttribute("shopGoodsVos", shopGoodsVos);} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}return "shoppingCar";} }
第三步:做配置
<action path="/shopping" type="com.sg.web.ShoppingAction"><forward name="shoppingCar" path="/fg/shoppingCar.jsp" redirect="false" /></action>
结果展示:
添加时光走了你还在和斗破苍穹
这边因为名字乱码但金额对应
然后清除购物车
今天就到这了拜拜
Easyui项目之添加购物车、清空购物车相关推荐
- Java的图书商城项目如何添加商品到购物车
关于如何添加商品到购物车,我们首先要有一个大致的思路.我们在浏览器页面,点击添加到购物车按钮,然后就会去掉用Web层的joinCart()方法,这个方法就会接着调用业务逻辑层,而业务逻辑层会去调用Da ...
- jquery清空购物车小案例
实现效果 可实现功能 数量增加.减少 小计结算 总商品数量.总价格计算 移除购物车 清空购物车 代码 HTML结构: <div class="box"><div ...
- 微信小程序 在tabBar某一项的右上角添加文本(购物车数量)
首先我们在进入小程序后,肯定是通过用户授权并获取到用户的openID的,或者说至少有那么一个用户信息字段(比如在数据库中的用户表里,有openID.ID等)是跟购物车挂钩的,否则怎么能知道是我的购物车 ...
- EasyUI项目之门户(添加查询购物车与清空购物车)
目标效果: 目标: 1,添加查询购物车 2,清空购物车 一,添加查询购物车 三种实现方法 0.1 session 保存购物车信息到session服务端 0.2 cookie保存购物车到本地(效率更高 ...
- MVC项目功能之加入购物车,清空购物车
一.本期目标 1.加入购物车 2.购物车查询 3.清空购物车 实现购物的三种方式: 第一种:session 保存购物车信息到session 1.点击我的购物车,查询后台的seesion,通过用户 ...
- 《小米商城》--购物车单条数据删除、购物车数量修改、清空购物车、查看地址功能、添加地址
在购物车页面,有清空购物车方法以及按钮, 在controler里写出delete方法,现获取请求参数cid,然后传入参数cid调用deleteCartByCid方法,然后跳转到购物车展示功能 然后调用 ...
- java清空购物车方法_Javaweb网上商城项目实战(21)删除和清空购物车
删除购物车原理分析 具体实现 在cart.jsp中绑定点击删除事件 在页面中的删除标签里面加一个id 编写删除的方法 在CartServlet中添加删除购物车商品的方法removeCartItem / ...
- Shop项目--9. 清空购物车。cart.jsp
分析: 入口在cart.jsp页面的清空购物车a标签所有位置,单击触发事件,加上友好提示confirm ,确定删除后执行功能代码. 清空购物车,最直观,即把购物车cart对象,从session域中去除 ...
- vue项目购物车组件、清空购物车
1.购物车组件 <template><div><div class="shopcart"><div class="content ...
最新文章
- ASP.NET MVC + ECharts图表案例
- 怎么判断间隙过渡过盈配合_什么是配合间隙过盈过渡配合
- 第八天-《企业应用架构模式》-通盘考虑
- 《AngularJS in Action》—— 与作者Lukas Ruebbelke的一次访谈
- 读《大道至简——失败的过程也是过程》有感
- Spring/Spring MVC/Spring Boot自动装配机制介绍
- 春招,这 110 道 Python 面试题你看了吗?
- java 随机生成10个整数_Java:随机生成10个整数(1-100),对生成的序列进行排序,并插入一个任意数...
- linux暂时不能域名解析,Kali Linux中暂时不能解析域名
- 如何解决AttributeError: ‘DataFrame‘ object has no attribute ‘sort‘
- 男子因惧内欲退还iPad 2苹果免费赠送
- 【考研数学】视频,你喜欢看哪位老师?
- 常见分布的数学期望和方差
- 2022中元节前后几天不出门?前三天后三天不能出门是真的吗?
- 惠勒延迟选择实验(转)
- 用vue+element-ui快速写一个注册登录页面
- git 如何回退版本(通俗易懂,简单上手)
- 使用微软云服务器搭建Hadoop集群
- 【转】Linux diff 命令详解
- 【开发工具】JetBrains
热门文章
- 华为安全 HCIP722笔记
- 统一信用代码n开头_股票代码查询怎么查,通过板块查找股票
- c++打印预览英文问题
- Win7系统怎么获取administrator权限?获取administrator权限的方法
- 为什么python文件会闪退_困扰已久的问题--python文件打开方式?为什么打开py文件会闪退!...
- 背包问题贪心算法求解
- “Navicat Premium”已损坏,无法打开。 您应该将它移到废纸篓。
- 如何完全卸载删除Parallels Desktop Mac教程
- 阿里巴巴余军:钉钉宜搭低代码实践之路
- 关于uIP移植以及部分特性解析和勘误