TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
在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首先使用<jsp:useBean>创建一个新的Session Scope类型的JavaBean组件对象cart,如果此cart对象已经存在了那就不用创建了直接拿过来用就是了。Carts.jsp程序接着使用<jsp:setProperty>操作指令给carts对象赋值。再下来carts.jsp程序调用processRequest()方法让它根据submit属性的值完成相应的购物车操作。最后carts.jsp程序使用cart对象的getItems()方法配合for循环结构把购物车的内容全部输出来。
<html>
<jsp:useBean id="cart" scope="session" class="test.DummyCart" />
<jsp:setProperty name="cart" property="*" />
<%
cart.processRequest(request);
%>
<FONT size = 5 COLOR="#CC0000">
<br> You have the following items in your cart:
<ol>
<%
String[] items = cart.getItems();
for (int i=0; i<items.length; i++) {
%>
<li> <%= items %>
<%
}
%>
</ol>
</FONT>
<hr>
<%@ include file ="carts.html" %>
</html>
下面是carts.html
<title>carts</title>
</head>
<body bgcolor="white">
<font size = 5 color="#CC0000">
<form type=POST action=carts.jsp>
<BR>
Please enter item to add or remove:
<br>
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>
<br> <br>
<INPUT TYPE=submit name="submit" value="add">
<INPUT TYPE=submit name="submit" value="remove">
</form>
</FONT>
</body>
</html>
function TempSave(ElementID)
{
CommentsPersistDiv.setAttribute("CommentContent",document.getElementById(ElementID).value);
CommentsPersistDiv.save("CommentXMLStore");
}
function Restore(ElementID)
{
CommentsPersistDiv.load("CommentXMLStore");
document.getElementById(ElementID).value=CommentsPersistDiv.getAttribute("CommentContent");
}
源码下载:http://file.javaxxz.com/2014/10/1/070248641.zip |
|