先看js

function toCar()...{
var goodId = $F('goodId');
var url = '${pageContext.request.contextPath}/addToCar.html';
var pars = 'goodId=' + goodId;
var myAjax = new Ajax.Request(
url,
...{
method: 'get',
parameters: pars,
onComplete: showResponse
});
}

function currentShopCar()...{
var url = '${pageContext.request.contextPath}/currentShopCar.html?goodId=${singleGoods.id}';
var myAjax = new Ajax.Request(
url,
...{
method: 'get',
parameters: '',
onComplete: showResponse
});
}一个button调用
<td><input type="button" value="立即定购" onclick="toCar();"/></td>一个div返回结果
<div id="result"></div>action:

public void addToCar()...{
singleGoods = goodsManager.get(goodId);
List shopCarsList = (List)this.getDongaoSession().get("shopCars");
if(shopCarsList==null||shopCarsList.size()==0)...{
shopCarsList = new ArrayList();
}
ShopCar sc= new ShopCar();
sc.setName(singleGoods.getName());
sc.setId(singleGoods.getId());
sc.setNormalPrice(singleGoods.getPrice());
sc.setNum(1);
Boolean isAdd=true;
for (int i = 0; i < shopCarsList.size(); i++) ...{
ShopCar sctemp = (ShopCar)shopCarsList.get(i);
if(sctemp.getId().equals(sc.getId()))...{
sc.setNum(sctemp.getNum()+1);
shopCarsList.remove(i);
shopCarsList.add(sc);
isAdd=false;
}
}
if(isAdd)...{
shopCarsList.add(sc);
}
this.getDongaoSession().put("shopCars", shopCarsList);
buildXml(shopCarsList,singleGoods);
}

private void buildXml(List shopCarsList,Goods singleGoods)...{
HttpServletResponse res = this.getResponse();
/**//*
*构建xml文件
*/
res.setContentType("text/xml;charset=UTF-8");
res.setHeader("Cache-Control","no-cache");
StringBuffer xml= new StringBuffer();
xml.append("<table border='1'>");
xml.append("<tr>");
xml.append("<td colspan='4'>");
xml.append("当前购物车");
xml.append("</td>");
xml.append("</tr>");
xml.append("<tr>");
xml.append("<td>名称</td>");
xml.append("<td>单价</td>");
xml.append("<td>数量</td>");
xml.append("<td>删除</td>");
xml.append("</tr>");
for (int i = 0; i < shopCarsList.size(); i++) ...{
ShopCar shopc = (ShopCar)shopCarsList.get(i);
xml.append("<tr>");
xml.append("<td>"+shopc.getName()+"</td>");
xml.append("<td>"+shopc.getNormalPrice()+"</td>");
xml.append("<td>"+shopc.getNum()+"</td>");
if(singleGoods!=null)...{
xml.append("<td><a href="+"deleteOneCar.html?goodId="+shopc.getId()+">删除</a></td>");
}
xml.append("</tr>");
}
xml.append("</table>");
System.out.println("xml:" +xml.toString());
try...{
res.getWriter().write(xml.toString());
res.getWriter().close(); 
} catch (IOException e)...{
e.printStackTrace();
}
}

本文介绍了一个使用JavaScript和Ajax实现的购物车功能,包括商品添加到购物车及购物车内容更新的过程。通过Ajax请求,实现了商品信息的获取、购物车列表的维护以及返回更新后的购物车状态。

被折叠的 条评论
为什么被折叠?



