3个页面,a.jsp,b.jsp,c.jsp
a.jsp中有个 表单商品名字    价格
鞋子        20
帽子        40迁移顺序如下
a.jsp→b.jsp→c.jsp现在想把a的这个表单传送到c.jsp中,请问如果不通过session,hidden,如何传过去!

解决方案 »

  1.   

    你A页面时提交了,C页面设个request.getParameter()不就成了?
      

  2.   

    楼上正解 直接到session 中拿就可以了
      

  3.   

    就是不想放到session里面处理,跨页面解决问题,拿到session里面处理已经实现,不过这样的话导致问题严重,session里的东西会越来越多
      

  4.   

    to:bigc2001(大C)
    有啥办法帖出来CC
      

  5.   

    做个框架 kuangjia.jsp 上面是 tmp.jsp 下面是 a.jsp -->b.jsp-->c.jsp(即三个页面都在下面)然后写个JS容器存放所有的 “表单” 数据,三个页面都可以访问了。
      

  6.   

    这种session客户端一关就没了呀,怎么会越来越多?
      

  7.   

    或者a.jsp --> b.jsp --> c.jsp 每次跳转前拼接URL,将所有的变量加进去。不过这个有限制不能太多。
    这种东西 最好还是用HIDDEN。
      

  8.   

    “这种session客户端一关就没了呀,怎么会越来越多?”--这个说法不准确。
      

  9.   

    直接写在action中把值做为一个显示的参数传过去。
      

  10.   

    to:bigc2001(大C)
    无法判断是否正确,不过还是要谢谢你
      

  11.   

    不用hidden,session好像不行。因为request得范围就是一个请求和回复。a.jsp-->b.jsp这时a里面参数都已经在内存中释放掉了。你不通过hidden,session怎么能使他中转到c.jsp呢?
      

  12.   

    在action里写跟submit一个 input能有区别吗?session关了以后还能越来越大?那所有IE要是一直不关最后还不得死机?
      

  13.   

    要是b.jsp  不是jsp,而是action,你倒是可以通过forward直接给传给c.jsp
      

  14.   

    你可以在需要的地方用完了以后再remove它
      

  15.   

    在a页面上写个javascript脚本,使用表单提交。
    在js里面传相应参数进到c页面,c页面接收。试试
      

  16.   

    用地址栏传
    ?a=b
    或者session用完删除了
    session.removeAttribute("");
    在下愚见
      

  17.   

    楼上的佩服佩服,这不作销售实在是浪费你可以在b.jsp的表单里面将A的值取到,然后<inptu text="hidden" name="复制名" value="取值内容">
    然后你怎么提交就怎么拿好了另外就是利用url来
    a传给b,然后b传c的时候url=http://localhost/b.jsp?a1=XXX&b1=XXXX&c1=XXXX不就好了没仔细看,你原来还不要hidden,不过这样作是不是bt啊?
    要不你就写action吧
      

  18.   

    可以在b.jsp中用javascript的document.url得到a.jsp的地址 然后拆分得到参数在传到c.jsp
      

  19.   

    request如果用forward方式传递的话,表单数据不会丢失,可以在c.jsp中直接request.getParameter("");取到你想要的数据。
      

  20.   

    你要是东西多,直接 a.jsp 提交保存到数据库。然后你 n.jsp 都可以从数据库中得到了。
      

  21.   

    To:shan__le(写累了,不想动了~~)
    这东西能放到action中?action提交就没勒!
      

  22.   

    放在session中比较好,虽然session中的东西多影响服务器,但现在的硬件越来越便宜搞代码优化的人越来越贵,你说那个比较合适
      

  23.   

    在B中接收后,使用request.setAttribute("","")来设置参数,然后C中使用request.getAttribute(“”)接收
      

  24.   

    怕session存的东西越来越多 用完就session.removeAttribute啊
      

  25.   

    哈哈,我有个好办法解决此问题,---通过协作对象可以解决它,你可以在b.jsp页面定义一个协作对象的一个引用 dispatcher; 然后通过 request对象的getRequestDispatcher()方法获得一个协作对象,即dispatcher = request.getRequestDispatcher("c.jsp"); 然后通过dispather的forword(request,response)方法将请求转交到c.jsp页面;此时你就可以在c.jsp页面通过request.getParameter("标签名")获取a.jsp页面提交过来的数据拉!
      

  26.   

    我的方法跟楼上那位兄弟差不多:
    1:从a.jsp中用request.getRequestDispatcher(request,response).forword("b.jsp");可以把数据提交到b.jsp.
    2: 从b.jsp页面中用request.getRequestDispatcher(request,response).forword("c.jsp");可以把数据提交到bc.jsp页面.试一下看行不行
      

  27.   

    看了这么多做法,搞的我头有点晕.session是一次会话,它的作用就是在页面跳转时保持一些参数,不然它也没有存在的价值了,客户端关闭浏览器时session就会消失,所占用的资源也会释放,不知道为什么lz会认为它不可取.url传递参数有点太..那个了吧,参数少的还好说,多了搞的地址栏很臃肿,我以前对页面一窍不通时每次看到这种地址栏头都大,所以作为我们应该考虑到客户最细微的心里,"就像演A片的女星,也知道隆胸来取悦观众".至于说将参数保存到数据库的说法我严重反对,数据库不是垃圾堆有什么搞不定的东西就往里边乱扔,创建和维护数据库连接是一件很消耗资源的操作,除非是一些必要的情形,如用户注册这样的时候才去读写数据库.