JavaBean+jsp的简单购物程序,运行不出来,高人帮忙看以下,谢谢了(

xuantian868 2006-03-14 05:19:02
//对订单数据进行存储和处理的javabean
package test;

import java.util.*;

public class CartBean
{
Vector items=new Vector();
String id;
String name;
String price;
String Number;
//设置名称
public void setName(String name)
{
try
{
this.name=new String(name.getBytes("iso8859-1"),"gb2312");
}
catch(Exception e){}
}
//设置代码
public void setId(String id)
{
this.id=id;
}
//设置价格
public void setprice(String price)
{
this.price=price;
}
//设置数量
public void setNumber(String Number)
{
this.Number=Number;
}
//添加物品或者修改物品
public boolean addItem()
{
int itemid=0;
try
{
Integer.parseInt(Number);
itemid=Integer.parseInt(id);
Double.parseDouble(price);
}
catch(Exception e)
{return false;}

if(haveItem(itemid))
removeItem(""+itemid);
Hashtable item= new Hashtable();
item.put("id",id);
item.put("name",name);
item.put("price",price);
item.put("number",Number);
items.addElement(item);
return true;
}
//得到物品个数
public int getItemNum()
{
return items.size();
}
//删除物品
public void removeItem(String id)
{
for(int i=0;i<items.size();i++)
{
Hashtable item=(Hashtable)items.elementAt(i);
if(item.get("id").equals(id))
{
items.removeElementAt(i);
break;
}
}
}
//得到物品
public void getItem(int i)
{
Hashtable item=(Hashtable)items.elementAt(i);
id=(String)item.get("id");
name=(String)item.get("name");
price=(String)item.get("price");
Number=(String)item.get("number");
}
//根据ID得到物品

public void getIdItem(int id)
{
for(int i=0;i<items.size();i++)
{
Hashtable item =(Hashtable)items.elementAt(i);
if(item.get("id").equals(""+id))
{
this.id=(String)item.get("id");
name=(String)item.get("name");
price=(String)item.get("price");
Number=(String)item.get("number");
}
}
}
//检测是否意存在该物品
public boolean haveItem(int id)
{
for(int i=0;i<items.size();i++)
{
Hashtable item=(Hashtable)items.elementAt(i);
if(item.get("id").equals(""+id))
return true;
}
return false;
}
//得到Number
public String getNumber()
{return Number;}
//得到名称
public String getName()
{return name;}
//得到价格
public String getPrice()
{return price;}
//得到ID号
public String getId()
{return id;}

public String getPay()
{
return String.valueOf(Double.parseDouble(price)*Integer.parseInt(Number));
}
public double getSum()
{
double sum=0.0;
for(int i=0;i<items.size();i++)
{
Hashtable item=(Hashtable)items.elementAt(i);
sum+=Integer.parseInt((String)item.get("number"))*Double.parseDouble((String)item.get("price"));
}
return sum;
}
}
————————————————————————————————————
list.jsp 主页面,负责列出当前已经有的定单以及所有的物品。
<html>
<head> <title>主页面</title>
</head>
<%@ page contentType="text/html; charset=gb2312" %>
<jsp:useBean id="cart" class="test.CartBean" scope="session" />
<body>
<%
if(request.getParameter("remove")!=null)
{
String removeID = request.getParameter("remove").toString();
cart.removeItem(removeID);
}
else if (request.getParameter("add")!=null)
{
%>
<jsp:setProperty name="cart" property="*"/>
<%
if(!cart.addItem())
{
out.print("对不起,您的输入不符合要求!<a href='javascript:history.back();'>请重试</a>");
out.close();
}
}
if(cart.getItemNum()>0)
{
%>
<h2>
<% out.println("您共需要付"+cart.getSum()+"元钱."+"<br>"); %>
</h2>
您已经选择的物品如下:
<table border=2 width=85% >
<tr>
<td>代码</td>
<td>名称</td>
<td>单价</td>
<td>数量</td>
<td>付款</td>
<td>修改</td>
<td>删除</td>
</tr>
<%
for(int i=0;i<cart.getItemNum();i++)
{
cart.getItem(i);
%>
<tr>
<td>
<jsp:getProperty name="cart" property="id"/>
</td>
<td>
<jsp:getProperty name="cart" property="name"/>
</td>
<td>
<jsp:getProperty name="cart" property="price"/>
</td>
<td>
<jsp:getProperty name="cart" property="number"/>
</td>
<td>
<jsp:getProperty name="cart" property="pay"/>
</td>
<td>
<a href=order.jsp?item=<jsp:getProperty name="cart" property="id"/>>
修改</a>
</td>
<td>
<a href=list.jsp?remove=<jsp:getProperty name="cart" property="id"/>>
删除</a>
</td>
</tr>
<%
}
}
%>
</table>
<p>
</p>
<hr>
请您选择所需要的物品:
<form method="post" action="order.jsp">
<select name="item">
<option value=1>联想笔记本电脑</option>
<option value=2>佳能数码相机</option>
<option value=3>诺基亚手机</option>
<option value=4>名人掌上电脑</option>
<option value=5>SONG投影机</option>
</select>
<p>
<input type="submit" value="提交">
</p>
</form>


</body>
</html>
————————————————————————————————————
order.jsp 订单页面,可以进行新订单的填写以及旧订单的修改

<html>
<head> <title>订单页面</title> </head>
<%@ page contentType="text/html; charset=gb2312" %>
<jsp:useBean id="cart" class="test.CartBean" scope="session" />
<body>
<%
String sid=request.getParameter("item");
String name="错误!";
int id=0;
try
{
id=Integer.parseInt(sid);
switch(id)
{
case 1:name="联想笔记本电脑";break;
case 2:name="佳能数码相机";break;
case 3:name="诺基亚手机";break;
case 4:name="名人掌上电脑";break;
case 5:name="SONG投影机";break;
}
}
catch(Exception e)
{
out.print("对不起,您的输入不合要求!<a href='javascript:history.back();'>请重试</a>");
out.close();
}
int modify=0;
if(cart.haveItem(id))
{
modify=1;
cart.getIdItem(id);
%>
请您修改您的订单。
<%
}
else
{
%>
<h2>请您输入所要的单价以及数量</h2>
<%}%>
<form method="post" action="list.jsp">
<input type=hidden name=add value=add>
<input type=hidden name=id value=<%=id%>>
<input type=hidden name=name value=<%=name%>>
<p>代码:<%=id%></p>
<p>名称:<%=name%></p>
<p>单价:<input name=price
<%if(modify==1)
{
out.print(" value="+cart.getPrice());
}
%>
>(必须为小数)
</p>
<p>
个数:<input name=number
<%if(modify==1)
{
out.print(" value="+cart.getNumber());
}
%>
>(必须为整数)
</p>
<p>
<center>
<input type=submit value="购买">
</center>
</p>
</form>
</body>
</html>
...全文
109 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xuantian868 2006-03-14
在编译java时,出现以下信息
注意:CartBean.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用—Xlint:unchecked重新编译。
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-03-14 05:19
社区公告
暂无公告