购物车讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
购物车讲解 名词解释:
购物车,顾名思义,就是具有与超市中购物车相同功能的模块. 本例主要以实现购物车基本功能(向购物车中添加商品,修改商品,删除商品).我将 采用 Struts1.2来写这个例子,好了,现在我们开始.成品如下图:
图-1
图-2
一.我们首先要建立数据库,内容很简单,只需有三个字段,即:商品编号,商品名称,商 品价格.然后为其添加一些商品即可. 二.在首页面上我们用多选框来选定要买的商品 ,然后将每个选定的商品的编号作 为一个数组传入 Action 中进行处理. 三.下面为大家来讲解一下 Action 中对于购物车功能实现的核心代码:
}
五.下面给出商品处理的逻辑类的源代码: product_do:
public class product_do {
public productBean showproductByid(int id) { productBean pb = null; Connection conn = DBConnect.getDB(); Statement stmt = null; ResultSet rs = null; try {
}
购物车 bean: carBean public class carBean { int product_id; String product_name; float product_price; int product_num; float product_totalmoney; public int getProduct_id() {
carBean cb2 = (carBean) car.elementAt(j); if (cb2.getProduct_id() == cb.getProduct_id()) { cb2.setProduct_num(cb2.getProduct_num() + 1); cb2.setProduct_totalmoney(); car.setElementAt(cb2, j); f = true; } }
//这一步很简单,就是获取 session.用于我们后来存储购物车的内容. HttpSession session = request.getSession(); //这一步就是从 session 中获取购物车. Vector car = (Vector) session.getAttribute("car"); //这是我首页面的 Form 表单 IndexForm inf = (IndexForm) form; //product_do 是我对于商品处理的一个类,其中包括安商品编号查找商 品所有信息. product_do pdo = new product_do(); //这就是我们得到的从首页面传过来的选定的商品编号的数组 String[] choice = inf.getChoice(); //下面判断这个数组是否为空. if (choice.length == 0) {
//如果为空,说明没有选定任何商品,则跳回首页面 return mapping.getInputForward();
} else { //如果不为空,遍历这个数组.
for (int i = 0; i < choice.length; i++) { //声明一个布尔型变量,用于以后对于购买重
复商品则数量叠加的控制. boolean f = false; //安数组中的ckTrace(); } } return pb; } }
六.好了,主要逻辑已经讲完了,我只是给出了一些核心代码,至于页面上如何显示, 各页面与 Action 之间如何连接就看各位看官自己的爱好了,至于还想要什么功能 应该也不是什么难事,如果有问题的话请给我留言,谢谢各位!
} } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try {
if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block
} public void setProduct_name(String product_name) { this.product_name = product_name; } public float getProduct_price() { return product_price; } public void setProduct_price(float product_price) { this.product_price = product_price; }
public void setProduct_price(float product_price) { this.product_price = product_price; } public float getProduct_totalmoney() { return product_totalmoney; } public void setProduct_totalmoney() { this.product_totalmoney = product_price * product_num; }
为空
if (car==null) { //如果为空的话,创建一个新的集合 Vector,并将上面创建的购物车 carBean 存 放进来. car = new Vector(); car.addElement(cb); } else { //如果不为空的话,遍历 session 中得到的购物车 car. for (int j = 0; j < car.size(); j++) { //如果当前商品在购物车中已经存在的话,就给它的数量加一,并且重新计 算它的总价格,然后重新放回到 car 的原位置
//购物车中没有当前商品时,将其添加到购物车中 if (f == false) { car.addElement(cb); }
} } } //将购物车 car 放入 session 中,然后跳转到查看购物车页面. session.setAttribute("car", car); return mapping.findForward("tocar"); 四.下面我将给出商品 bean 和购物车 bean 的源代码 商品 bean: productBean public class productBean { int product_id; String product_name; float product_price; public int getProduct_id() { return product_id; } public void setProduct_id(int product_id) { this.product_id = product_id; } public String getProduct_name() { return product_name;
stmt = conn.createStatement(); rs = stmt.executeQuery("select * from product where product_id="
+ id); while (rs.next()) { pb = new productBean(); pb.setProduct_id(rs.getInt(1)); pb.setProduct_name(rs.getString(2)); pb.setProduct_price(rs.getFloat(3));
return product_id; } public void setProduct_id(int product_id) { this.product_id = product_id; } public String getProduct_name() { return product_name; } public void setProduct_name(String product_name) { this.product_name = product_name; } public int getProduct_num() { return product_num; } public void setProduct_num(int product_num) { this.product_num = product_num; } public float getProduct_price() { return product_price; }
编号),来获得这个商品的所有信息,并存入一个商品的 javabean. productBean pb = pdo.showproductByid(Integer .parseInt(choice[i])); //创建一个新的购物车 bean,并向其存入上面
得到的商品 bean 里面的商品信息. carBean cb = new carBean(); cb.setProduct_id(pb.getProduct_id()); cb.setProduct_name(pb.getProduct_name()); cb.setProduct_price(pb.getProduct_price()); cb.setProduct_num(1); cb.setProduct_totalmoney(); //这个判断是检查上面得到的购物车 car 是否
相关文档
最新文档