在看教程模仿做一个简单的购物网站。我从index这个servlet获得分页数据,然后request.getRequestDispatcher("/index.jsp").forward(request, response);从index.jsp  request.getAttribute获得具体的数据,然后在点这个货物的名字在转到detail.jsp页面。教程的做法是把这个货物的ID用detail?id=这样传递下去,然后在根据ID在查询一次数据库,我觉得明显很慢啊。如何把这个request的值继续往下一个页面传递呢?就不用在查询一次了。

解决方案 »

  1.   

    你可以把商品信息放入HashMap集合中再把合放入session中就行了,到哪里都可以用
      

  2.   

    我是先放到ArrayList里的 如果是点了某个货物,在把信息写到session里?.NET是有事件一点连接了就可以调用方法,但是在jsp页面里如何做呢?
      

  3.   

    request.getSession().setAttribute("list");
      

  4.   

    点某个商品把商品id传到servlet里然后根据id把对象放到session里
    可以用超连接来做<a href="cart.do?id=${商品对象.id}">${商品对象.商品名称}</a>
      

  5.   

    回楼上的,在servlet里根据ID在做一次查询?
      

  6.   

    用session可以,用forward好像也可以。
      

  7.   


    你想怎么弄?把所有商品放session里啊?  
      

  8.   

    比如我先查询1-5个货物,然后把1-5个货物放到ArrayList里,在用setAttribute放到request里传到显示页面 显示1-5个货物。然后点某个货物的时候,转到另外一个页面在显示详细信息,教程的做法是把货物ID传到下一个页面,在查询一次。我是想直接把原来查询的内容直接传递到下一个页面。
      

  9.   

    request.getSession().setAttribute("list");
    request.getSession().getAttribute("list");
      

  10.   

    不可能把商品放到session里 你这不是购物车,你要想到不是你一个人在刷新商品页,N多人都在刷新的话,session得放多少东西?
      

  11.   

    对,如果你缓存的话会有很多问题,比如taobao,你在查看时候商品已经被人买了,或者不卖了,价格修改了,等等,比喻不恰当,反正就这个意思