添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
不要命的鸡蛋  ·  List (或ArrayList) ...·  5 天前    · 
正直的棒棒糖  ·  [POP.017.0016] Task ...·  1 月前    · 
英姿勃勃的冲锋衣  ·  java ...·  3 月前    · 
怕考试的仙人球  ·  使用JSON数据 | ...·  4 月前    · 
气势凌人的大葱  ·  Developer Community·  6 月前    · 

转自: http://developer.51cto.com/art/200907/133510.htm

JSP Session 机制购物车之一构建的商品类

◆写一个Goods类,并定义商品的各个属性,返回商品属性的方法,以及商品对象进行比较的方法

◆Goods.java

  • package com.viita.Shop;
  • public class Goods implements Comparable {
  • ◆初始化各成员变量

  • private String Id = null ;//商品的编号Id
  • private String name = null ;//商品的名称name
  • private float price = 0 .00F;//商品的价格price
  • private int number = 0 ;//商品的数量number
  • public Goods(String Id, String name, float price, int number) {
  • this.Id = Id;
  • this.name = name;
  • this.price = price;
  • this.number = number;
  • public String getId() //返回订购商品的编号Id
  • return this.Id;
  • public String getName() //返回订购商品的名称name
  • return this.name;
  • public float getPrice() //返回订购商品的价格price
  • return this.price;
  • public int getNumber() //返回订购商品的数量number
  • return this.number;
  • public int compareTo(Object m) {
  • // TODO Auto-generated method stub
  • Goods n = (Goods) m;
  • int comRs = Id .compareTo(n.Id);
  • return comRs;
  • JSP Session 机制购物车之二购物车实现

    ◆首先建立Goods(商品)对象goods,并建立建立ArrayList对象ay

    ◆通过ArrayList对象的方法add()将商品对象添加到ArrayList对象ay中

    ◆由于ArrayList对象是具有添加和删除成员的方法,从而实现多个商品存储管理于ArrayList对象

    ◆将ArrayList对象ay存储于session对象当中,实现购物车功能

    ◆shopcar.jsp

  • < %@ page language = "java" import = " java.sql.*,com.viita.Shop.*,java.util.*" pageEncoding = "GBK" % >
  • ◆设置编码格式

  • request.setCharacterEncoding("GBK");
  • ◆获取参数信息

  • String id = request .getParameter("id");
  • String name = request .getParameter("name");
  • int number = java .lang.Integer.parseInt(request.getParameter("number"));
  • float price = java .lang.Float.parseFloat(request.getParameter("price"));
  • ◆建立商品对象和ArrayList对象

  • Goods goods = new Goods(id,name,price,number);
  • ArrayList ay = null ;
  • ◆如果session中从未写入过,则将建立的商品对象添加到ArrayList对象当中,并写入 session

  • if((ArrayList)session.getAttribute("car")==null)
  • ay = new ArrayList();
  • ay.add(goods);
  • session.setAttribute("car",ay);
  • response.sendRedirect("order_index.jsp");
  • ◆如果写如过,则将商品对象添加到ArrayList对象当中,并写入 session

  • ay =(ArrayList)session.getAttribute("car");
  • ◆如果ArrayList 对象为空,则直接添加到ArrayList对象当中

  • if(ay.isEmpty())
  • ay.add(goods);
  • session.setAttribute("car",ay);
  • response.sendRedirect("order_index.jsp");
  • ◆如果ArrayList 对象不为空,则判断购入商品是否已经存在于车中

  • Iterator it = ay .iterator();
  • for(int i = 0 ;i < ay.size ();i++) //下面还有另一种遍历方法
  • Goods shop = (Goods)it.next();
  • ◆如果购入商品已经存在,则打印输入提示信息

  • if(shop.compareTo(goods)==0)
  • out.println(" < script > alert('你已经订购了此商品!');window.close(); script > ");
  • ◆如果购入商品不存在,则直接将商品添加到ArrayList对象当中,并写入 session

  • ay.add(goods);
  • session.setAttribute("car",ay);
  • response.sendRedirect("order_index.jsp");
  • JSP Session 机制购物车之三删除商品

    ◆对购物车中的商品进行删除操作

    ◆removeGoods.jsp

  • < %@ page language = "java" import = "java.sql.*,com.viita.Shop.*,java.util.*" pageEncoding = "GBK" % >
  • ◆设置编码格式

  • request.setCharacterEncoding("gb2313");
  • ◆获取参数信息

  • String id = request .getParameter("id");
  • String name = request .getParameter("name");
  • float price = java .lang.Float.parseFloat(request.getParameter("price"));
  • int number = java .lang.Integer.parseInt(request.getParameter("number"));
  • ◆创建符合条件参数要删除的商品对象

  • Goods goods = new Goods(id,name,price,number);
  • ◆获取session 中存储的ArrayList对象

  • ArrayList ay = (ArrayList)session.getAttribute("car");
  • Iterator it = ay .iterator();
  • ◆遍历ArrayList对象,并将ArrayList对象中的元素和创建的符合参数条件要删除的商品进行比较

  • for(int i = ay .size();it.hasNext();i--)
  • Goods shop = (Goods)it.next();
  • ◆查询是否有ArrayList对象中的元素与要删除的商品相同

  • if(shop.compareTo(goods)==0)
  • int index = ay .indexOf(shop);
  • ◆如果ArrayList对象已经为空,则跳转

  • if(ay.isEmpty())
  • response.sendRedirect("order_index.jsp");
  • ◆如果ArrayList对象不为空,则从其中移去要与要删除的商品条件相符的元素,并重新写session

  • ay.remove(index);
  • session.setAttribute("car",ay);
  • response.sendRedirect("order_index.jsp");
  • out.print("程序异常");
  •