当当的购物车的特色为:(1)只有点击“购买”按钮才在购物车中加1,刷新购物车的页面物品数量不变(2)购买按钮和在新打开IE页面中的购物车对SESSION是怎么处理的。。网上我搜到一些思路,但不清楚,就是:购买按钮调用的是JS代码(这是肯定的,在IE左下角就看到了),下一步......很迷茫,特来拜求大家实现思路。

解决方案 »

  1.   

    loven_11:不是啊啊,必须点击购买才可以+1啊
      

  2.   

    调用js方法,异步调用修改购物车页面,修改session数值后,返回结果,结果正确时,在购物数量上+1,也是使用js
    基本上算个ajax 
      

  3.   

    放到map中去。public class ShoppingCart { private Map map = new HashMap(); private static ShoppingCart cart = null; private ShoppingCart() { } /**
     * 
     * @return
     */
    public static ShoppingCart getInstance() {
    if (cart == null) {
    cart = new ShoppingCart();
    }
    return cart;
    } public void addBook(Integer id, BaseDTO baseDTO) {
    if (map.containsKey(id)) {
    BaseDTO oldDTO = (BaseDTO) map.get(id);
    oldDTO.setShoppingCount(oldDTO.getShoppingCount() + 1); } else {
    map.put(id, baseDTO);
    }
    }

    public void removeBook(Integer id){
    if(map.containsKey(id)){
    map.remove(id);
    }
    } public BaseDTO getBook(Integer id) {
    return (BaseDTO) map.get(id);
    } public Map getBookAll() { return this.map;
    }
    }
      

  4.   

    昨晚回家去大概的看了看,以我一个初学者的思路,点了购买进入action修改下request吧;
    然后弹出下购物车页面。
    这里我觉得有个地方不明白,是当“购物车页面”已经存在时,怎么判断刷新、而不再弹出个窗口呢