不在同一个request中,用session试试:)

解决方案 »

  1.   

    直接a连接到b request里面的东西当然消失的
      

  2.   

    <%
    request.setAttribute("test", ht);
    %>
    <jsp:forword page="b.jsp"/>
    b.jsp
    <%
    String test=request.getAttribute("test");
    out.println("test=",test);
    %>
      

  3.   

    a.jsp
    <%
    java.util.Hashtable ht = new java.util.Hashtable();
    ht.put("a", "1");
    session.setAttribute("test", ht);
    %>
    b.jsp
    <%
    java.util.Hashtable test = (java.util.Hashtable)session.getAttribute("test");
    %>
      

  4.   

    我不想用session,不是说request.setAttribute()是可以传递对象的吗,那这样的话,在两个页面中传递对象的话,除了session就不能用别的了吗?
      

  5.   

    // 用这个方法跳转页面request.getRequestDispatcher("目的页面.jsp").forward(request, response);
      

  6.   

    request对象之存在于一次请求,你从a到b就是另一次请求了,所以楼上老兄告诉你要用forword来进行页面转发,这个还是在同一请求中。或者就是用session!
      

  7.   

    request对象之存在于一次请求,也就是只能在一个页面中进行setAttribute和getAttribute,你从a到b就是两次请求了,用forword进行页面转发,它仍然在同一个页面,还是在同一请求中,所以可以。或者就只能用session.setAttribute("name")和session.getAttribute("name")来解决
      

  8.   

    到b时request与a的request不是一个对想了,request表示一个请求是产生的对象,当a显示给用户时一个请求回应过程已结速.对象消矢.
      

  9.   

    谢谢各位了,看来想在页面间传递对象除了session是没有别的办法了~~
      

  10.   

    得在同一请求中,当然也可以在foward区域中加入要传递的参数
    其实把你的数据写到Bean里不更好嘛
    <jsp:useBean id="myRequestHT" class="yourCLasss.class" scope="request"/>
    myRequest.setXXX();另一页里边
    <jsp:useBean id="myRequestHT" class="yourCLasss.class" scope="request"/>
    myRequest.getXXX();
    无论如何,得在一个Request域中