我刚学JPS。
这时我想在b.jsp里设定新的Parameter。
用动作元素的代码如下:
<jsp:fordward page="b.jsp">
<jsp:param value="abc" name="p1"/>
</jsp:fordward>
请问在不用标签,不用<jps:fordward>的情况下,如何在<%%>中用java代码实现页网跳转并能设定新的Parameter
比如:
<%
response.sendRedirect("b.jsp");//但这时不知道怎么样才能向b.jsp设定新的Parameter了
%>献上60分,望高手来帮忙。很急哦。

解决方案 »

  1.   

    response.sendRedirect("b.jsp?param1=a&param2=b")
      

  2.   

    两种方法都可以这样加b.jsp?参数名=参数值&参数名=参数值
      

  3.   

    一楼二楼说的这个方法我也想到了啊,但很不现实。
    第一:如果Parameter很多,那每个跳转的地方都要加非常繁锁的参数;
    第二:如果这样新加Parameter的话还要把在request中的原有Parameter找出来再加上去。
    所以以上方法很不实用,期待过路朋友们能给出更好的方法。
      

  4.   

    一般的传参就是一楼那样,如果你的参数很长 GET方法容易接受不全 最多多少位我就忘了 呵呵。
    如果你想看不到参数的话 可以考虑存到SESSION中 跳转后到SESSION中去取  
    至于更好的办法 我暂时也没有 呵呵 期待高人解决
      

  5.   

    get方式确实不能传递太长的参数,而且也不安全,
    参数很多的话还是用post提交表单吧
      

  6.   

    可以用一个固定的参数名,将参数值拼成一个串,以|分隔,然后再下个页面得到之后再以|分解,但是这种get方式的长度最多是250个字符
      

  7.   

    response.sendRedirect("b.jsp");这种只是页面的跳转 不能再另一个页面用request.getParameter(''')的到值的
    用request.getRequestDispatcher("b.jsp").forward(request,response);可以把request传到下一页面(这两个页面的request是同一个),在下个页面可以用request.getParameter("name")拿到值。
    要的是不是这个效果?
      

  8.   

    <form name="myform" action="" method="post">
        <input type="hidden" name="name" value="${param.name}">
        // ...省略
    </form><script type="text/javascripe">
        document.forms[0].submit();
    </script?
      

  9.   

    楼主:
    不知道你用的是什么模式
    如果是MVC模式的话
    重定向的话是要在写个Action的 
    可以在Action里设置你要带的参数
      

  10.   

    URL重写,a.action?name=sdf&age=34
      

  11.   

    7楼朋友的这个方法是可以用原来request中的Parameter,但在跳转页面的时候怎么样新加Parameter呢?
      

  12.   

    与表单提交没关系,因为不是所有的Parameter都来自与表单。比如用<jsp:forward>动作元素在页面跳转的时候就能新加Parameter。
      

  13.   

    不能任何模式,就纯的JSP页面。
      

  14.   

    没有action单纯的jsp跳转添加参数,要么是用get方式在url后面添加参数,要么放在表单里提交咯,至于你说的不是所有的参数都是从表单里得到的,这个有什么问题吗?你需要什么参数就放在表单里好了,不想显示在页面上就用隐藏域!
    支持8楼!