添加购物车、清空购物车

添加购物车的三种方式

一: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项目之添加购物车、清空购物车相关推荐

  1. Java的图书商城项目如何添加商品到购物车

    关于如何添加商品到购物车,我们首先要有一个大致的思路.我们在浏览器页面,点击添加到购物车按钮,然后就会去掉用Web层的joinCart()方法,这个方法就会接着调用业务逻辑层,而业务逻辑层会去调用Da ...

  2. jquery清空购物车小案例

    实现效果 可实现功能 数量增加.减少 小计结算 总商品数量.总价格计算 移除购物车 清空购物车 代码 HTML结构: <div class="box"><div ...

  3. 微信小程序 在tabBar某一项的右上角添加文本(购物车数量)

    首先我们在进入小程序后,肯定是通过用户授权并获取到用户的openID的,或者说至少有那么一个用户信息字段(比如在数据库中的用户表里,有openID.ID等)是跟购物车挂钩的,否则怎么能知道是我的购物车 ...

  4. EasyUI项目之门户(添加查询购物车与清空购物车)

    目标效果: 目标: 1,添加查询购物车 2,清空购物车 一,添加查询购物车 三种实现方法 0.1 session 保存购物车信息到session服务端 0.2 cookie保存购物车到本地(效率更高  ...

  5. MVC项目功能之加入购物车,清空购物车

    一.本期目标 1.加入购物车   2.购物车查询  3.清空购物车 实现购物的三种方式: 第一种:session 保存购物车信息到session 1.点击我的购物车,查询后台的seesion,通过用户 ...

  6. 《小米商城》--购物车单条数据删除、购物车数量修改、清空购物车、查看地址功能、添加地址

    在购物车页面,有清空购物车方法以及按钮, 在controler里写出delete方法,现获取请求参数cid,然后传入参数cid调用deleteCartByCid方法,然后跳转到购物车展示功能 然后调用 ...

  7. java清空购物车方法_Javaweb网上商城项目实战(21)删除和清空购物车

    删除购物车原理分析 具体实现 在cart.jsp中绑定点击删除事件 在页面中的删除标签里面加一个id 编写删除的方法 在CartServlet中添加删除购物车商品的方法removeCartItem / ...

  8. Shop项目--9. 清空购物车。cart.jsp

    分析: 入口在cart.jsp页面的清空购物车a标签所有位置,单击触发事件,加上友好提示confirm ,确定删除后执行功能代码. 清空购物车,最直观,即把购物车cart对象,从session域中去除 ...

  9. vue项目购物车组件、清空购物车

    1.购物车组件 <template><div><div class="shopcart"><div class="content ...

最新文章

  1. ASP.NET MVC + ECharts图表案例
  2. 怎么判断间隙过渡过盈配合_什么是配合间隙过盈过渡配合
  3. 第八天-《企业应用架构模式》-通盘考虑
  4. 《AngularJS in Action》—— 与作者Lukas Ruebbelke的一次访谈
  5. 读《大道至简——失败的过程也是过程》有感
  6. Spring/Spring MVC/Spring Boot自动装配机制介绍
  7. 春招,这 110 道 Python 面试题你看了吗?
  8. java 随机生成10个整数_Java:随机生成10个整数(1-100),对生成的序列进行排序,并插入一个任意数...
  9. linux暂时不能域名解析,Kali Linux中暂时不能解析域名
  10. 如何解决AttributeError: ‘DataFrame‘ object has no attribute ‘sort‘
  11. 男子因惧内欲退还iPad 2苹果免费赠送
  12. 【考研数学】视频,你喜欢看哪位老师?
  13. 常见分布的数学期望和方差
  14. 2022中元节前后几天不出门?前三天后三天不能出门是真的吗?
  15. 惠勒延迟选择实验(转)
  16. 用vue+element-ui快速写一个注册登录页面
  17. git 如何回退版本(通俗易懂,简单上手)
  18. 使用微软云服务器搭建Hadoop集群
  19. 【转】Linux diff 命令详解
  20. 【开发工具】JetBrains

热门文章

  1. 华为安全 HCIP722笔记
  2. 统一信用代码n开头_股票代码查询怎么查,通过板块查找股票
  3. c++打印预览英文问题
  4. Win7系统怎么获取administrator权限?获取administrator权限的方法
  5. 为什么python文件会闪退_困扰已久的问题--python文件打开方式?为什么打开py文件会闪退!...
  6. 背包问题贪心算法求解
  7. “Navicat Premium”已损坏,无法打开。 您应该将它移到废纸篓。
  8. 如何完全卸载删除Parallels Desktop Mac教程
  9. 阿里巴巴余军:钉钉宜搭低代码实践之路
  10. 关于uIP移植以及部分特性解析和勘误