当前页面: 开发资料首页 → Java 专题 → 简单购物车
简单购物车
摘要: 简单购物车
</td>
</tr>
<tr>
<td height="35" valign="top" class="ArticleTeitle">
<table width="740" border="0">
<tr>
<td width="734">
</td>
</tr>
</table>
在DummyCart.java程序中定义了购物车的基本模型,DummyCart类使用Vector数据结构来模拟购物车的功能,DummyCart有三个属性分别是submit item v,其中submit的值如果为add,那么意味着往购物车中添加商品;如果为remove,那么表示用户将从购物车中删除商品,Item代表用户需要添加或者舍弃的商品的名字,v是一个Vector类型的数据,它保存着购物车的所有信息。利用Vector 类的方法可以实现往购物车中添加商品或者删除商品的操作,在DummyCart 类中最重要的方法是processRequest(),这个方法判断submit的值,然后调用addItem()方法或者removeItem()方法完成基本的购物车操作。
package test;
import javax.servlet.http.*;
import java.util.Vector;
import java.util.Enumeration;
public class DummyCart{//虚构的购物车
Vector v = new Vector();//存放货的蓝子
String submit = null;//submit="add" 添加货物,submit="remove" 扔掉货物
String item = null;//货物的名子
private void addItem(String name){
v.addElement(name);
}
private void removeItem(String name){
v.removeElement(name);
}
public void setItem(String name){
item = name;
}
public void setSubmit(String s){
submit = s;
}
public String[] getItems(){
String[] s = new String[v.size()];
v.copyInto(s);
return s;
}
public void processRequest(HttpServletRequest request){
// null value for submit - user hit enter instead of clicking on
// "add" or "remove"
if (submit == null)
addItem(item);
if (submit.equals("add"))
addItem(item);
else if (submit.equals("remove"))
removeItem(item);
// reset at the end of the request
reset();
}
// reset
private void reset(){
submit = null;
item = null;
}
}
下面的代码用来测试:
用户首先打开carts.html,页面选中某种商品然后单击submit,按钮把数据提交到carts.jsp,carts.jsp首先使用
创建一个新的Session Scope类型的JavaBean组件对象cart,如果此cart对象已经存在了那就不用创建了直接拿过来用就是了。Carts.jsp程序接着使用操作指令给carts对象赋值。再下来carts.jsp程序调用processRequest()方法让它根据submit属性的值完成相应的购物车操作。最后carts.jsp程序使用cart对象的getItems()方法配合for循环结构把购物车的内容全部输出来。
<%
cart.processRequest(request);
%>
You have the following items in your cart:
<%
String[] items = cart.getItems();
for (int i=0; i
%>
- <%= items[i] %>
<%
}
%>
<%@ include file ="carts.html" %>
下面是carts.html
carts
</head>
<body bgcolor="white">
<form type=POST action=carts.jsp>
Please enter item to add or remove:
Add Item:
<select NAME="item">
<option>Beavis & Butt-head Video collection
<option>X-files movie
<option>Twin peaks tapes
<option>NIN CD
<option>JSP Book
<option>Concert tickets
<option>Love life
<option>Switch blade
<option>Rex Rugs & Rock n' Roll
</select>
<input TYPE=submit name="submit" value="add">
<input TYPE=submit name="submit" value="remove">
</form>
</body>