struts2购物车
来源:互联网 发布:html与javascript 编辑:程序博客网 时间:2024/05/21 10:54
package com.scme.servlet;import java.io.IOException;import java.util.HashMap;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import com.scme.dao.ProductDao;import com.scme.dao.gouwucheDao;import com.scme.entity.CartItem;import com.scme.entity.ProductInfo;public class gouwucheservlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}@SuppressWarnings("unchecked")public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/jsp;charset=utf-8");int id = Integer.parseInt(request.getParameter("id"));ProductDao proDao = new ProductDao();HttpSession session = request.getSession();// 首先定义一个空的HashMap集合HashMap<Integer, CartItem> map = null;// 判断session中是否有一个HashMap集合,如果没有则new一个,如果有则取出if (session.getAttribute("gouwuche") == null) {map = new HashMap<Integer, CartItem>();session.setAttribute("gouwuche", map);} else {map = (HashMap<Integer, CartItem>) session.getAttribute("gouwuche");}if (map.containsKey(id)) {// 判断购物车中是否有该商品CartItem item = map.get(id);// 将集合中的id附加给item这个实体类,先查询到map中的id后才能给此id增加数量//将item中数量在原有的基础上加1item.setBuyNum(item.getBuyNum() + 1);} else {CartItem item = new CartItem();// 如果map集合中id对应的数量没有值,则给item中的数量赋值为1item.setBuyNum(1);// 用id来查询该id的所有信息item.setPro(proDao.queryProsById(id));// 输出集合map中的内容// 完成前两项后item中则有了以id查询到的该商品的所有信息加上添加上的数量1// 将id和item赋给HashMap这个集合map.put(id, item);}gouwucheDao dao = new gouwucheDao();HashMap<Integer, CartItem> gouwu = (HashMap<Integer, CartItem>) session.getAttribute("gouwuche");for (int k : gouwu.keySet()) {// 将int k赋值于集合gouwu的id// 实例化实体类CartItem 并将item中赋值键值集合中的id,即k的值CartItem item = gouwu.get(k);int id2 = k;String name = item.getPro().getProName();double money = item.getPro().getProPrice();String src = item.getPro().getProImgSrc();String addr = item.getPro().getProAddr();int num = item.getBuyNum();boolean bl2=dao.delete();boolean bl = dao.insert(id2, name, money, src, addr, num);if (bl == true&&bl2==true) {request.getRequestDispatcher("gouwuche.jsp").forward(request,response);}}}}CartItem 实体类的写法:package com.scme.entity;public class CartItem {private ProductInfo pro;private int buyNum;public ProductInfo getPro() {return pro;}public void setPro(ProductInfo pro) {this.pro = pro;}public int getBuyNum() {return buyNum;}public void setBuyNum(int buyNum) {this.buyNum = buyNum;}public void addNum() {this.buyNum++;}}
0 0
- struts2购物车
- 购物车
- 购物车
- 购物车
- 购物车
- 购物车
- 购物车
- 购物车
- 购物车
- 购物车
- 购物车
- 购物车
- 购物车
- 购物车
- 购物车
- 购物车
- 购物车
- 购物车
- perl 正则
- 第9周项目——我的小九九
- 给大家推荐一款有意思的棋类游戏-5i跳棋
- 【第2章 习题4】
- c++中类就是高级的结构体,这句话理解得怎么样?
- struts2购物车
- LIB和DLL的区别与使用
- 截取字符串(除第一位和最后一位外,其他的均用*代替)
- ACM入门之新手入门
- 大学两个月生活感想
- 112 - Tree Summing
- topic model之LDA
- HTTP头:If-Modified-Since, If-None-Match
- 了解CMS(Concurrent Mark-Sweep)垃圾回收器