jsp 如何用http 的header 传值呢? 比如说在a页面传如歌参数 跳到b页 里 接受这个参数。

解决方案 »

  1.   

    你直接在a界面写个<input type="hidden" name="a" value="${???}">
    后台取到了在给b的request或者session呗,建议request,效率高。
      

  2.   

    这俩个都不行的 ,2楼注意要放header里面,3楼的虽然放了但是只是本页,一提交就没了。早已试过
      

  3.   

    要用Header在JSP之间直接传递参数的话,不能用 sendRedirect(),更不能是超链接跳转;因为必须保证是在一次请求之内完成。所以只能是用RequestDispatcher.forward()到B页面。
    但是,你的需求感觉上其实是A页面上有个超链接或者按钮,用户点击后跳转到B页面。
    所以我理解根本不是 JSP->JSP ;而是 HTML->JSP。是这样么?
      

  4.   

    确实是jsp-jsp 因为a还有其他参数要传得。是这样的我要调一个接口,对方要求用header把其中一个安全码的参数通过header传过去,其他参数无所谓。
      

  5.   

    Soga:用户访问你的A页面,然后A页面处理完毕后,在将请求重定向到B页面(同时传递header参数)?
    那么请问:对方页面跟你的页面是同应用还是非同应用?如果是同应用,则可以用我前面说的RequestDispatcher.forward()如果是非同应用,这事就比较悬了。
      

  6.   

    对 就是这个意思不一定非是重定向可以提交或超链,是非同应用。不过应该是可以实现的。以前接过别人header传得数据,只是不知道怎么传得。
      

  7.   

    情况是:
    1、可以直接用Java代码用HttpClient之类的组件,向B发起请求,并构造各种Header参数;即便是JSP内页可以这么执行;
    2、可以用Ajax构造向B发起的请求,并增加各种Header参数,可以直接在HTML中执行。
    但是!!
    1、是服务器端执行的,意味着请求结果还要由A回写到浏览器端,而用户其实根本不知道访问过B页面这回事(透明),这本质上就是个 反向代理。
    2、Ajax请求,直接以字符串的形式得到页面结果,并不会表现出页面发生切换之类的过程;最终用户如果要看到页面,还需要另外处理,比如替换当前页面内容之类的。
    而<FORM>的POST或<A>超链接,我记得都没有指定Header的能力。
    所以单纯用某招,都比较麻烦。最好是跟B页面协商其它机制。