我在前台写了一个页面 实现购物车的功能(菜鸟 相当简陋^^)
后台数据库有商品名称 单价 数量三个属性
现在的问题是:我利用servlet向jsp传值之后,不知道如何实现单价与所购商品的一一对应呢?
<body>
<form action="ConsumerServlet" method="post">
<b>清选择购买的商品</b>
<select name=What>
<%
List all=(List)request.getAttribute("all");
Iterator itor=all.iterator();
while(itor.hasNext())
{
CarVo car=(CarVo)itor.next();
String goods=car.getGoods();
%>
<option name="<%=goods %>"><%=goods %></option>
<%
}
%></select><p>
<b>你购买的商品的单价为:</b> //怎么写??
<p>
<B>清填写购买数量</B><input type="text" name="quantity"/><p>
<input type="submit" value="购买"><input type="reset" value="重置">
<input type="hidden" name="status" value="buy">
</form>
<%
%>
</body>
后台数据库有商品名称 单价 数量三个属性
现在的问题是:我利用servlet向jsp传值之后,不知道如何实现单价与所购商品的一一对应呢?
<body>
<form action="ConsumerServlet" method="post">
<b>清选择购买的商品</b>
<select name=What>
<%
List all=(List)request.getAttribute("all");
Iterator itor=all.iterator();
while(itor.hasNext())
{
CarVo car=(CarVo)itor.next();
String goods=car.getGoods();
%>
<option name="<%=goods %>"><%=goods %></option>
<%
}
%></select><p>
<b>你购买的商品的单价为:</b> //怎么写??
<p>
<B>清填写购买数量</B><input type="text" name="quantity"/><p>
<input type="submit" value="购买"><input type="reset" value="重置">
<input type="hidden" name="status" value="buy">
</form>
<%
%>
</body>
你是怎么加进购物车的?感觉你的设计有问题,或者对OO概念不深吧goods应该是一个类Goods(name,price,qty)
然后 cars.add(goods);jsp得到的是goods
名字是 goods.GetName();
单价是 goods.GetPrice();
您说的这个goods类就是我写的这个CarVo类啊^^
car.getQty(); //数量?
这样不可以吗?
商品中设置商品名,单价等属性class Goods{
private String name;//商品名
private float price;//单价
}
class CavVo{
private Goods goods;//商品
private int quaitity;//数量
}再把CavVo放到List中保存到ShoppingCart里去
把编号和购买的数量放到一个Hashtable或者HashMap中,如果是购买的相同的商品就只是重新设置此键的值
等到取的时候遍历这个Hashtable或者HashMap就可以了,当然这个Hashtable或者HashMap要放在session中,以方便在每个页面都能取出来