response.sendRedirect("")传递页面转向时如何传递参数?

cnliutian 2005-01-04 08:49:22
<%
int x = 5;
response.sendRedirect("error.jsp?abc=x");
%>

上面这样写不行,目的页里接收的参数abc打出来的是x,而不是x所代替的传5。而我改成:

<%
int x = 5;
response.sendRedirect("right.jsp?abc=%><%=x%><%");
%>
更不行,jsp页连编辑都过不去。
请你们指点指点,在使用response.sendRedirect("")作网页转向如何传递参数。

另外,在做网页转向时,如果需要传递参数,普通作法是怎么做?用我上面的方法还是用session好?不过你们还是先教会我用上面的方法吧!
...全文
13203 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
以梦为马 2005-02-04
  • 打赏
  • 举报
回复
up
sunjhgq 2005-02-02
  • 打赏
  • 举报
回复
不错就是大家所说的,
老鱼趣多多 2005-02-02
  • 打赏
  • 举报
回复
直接用session存多好呢?

你那样传会把参数传在IE地址栏,不安全吧 .

session.set....
session.get....

那个单词忘记咋写了,呵呵。
高尚10 2005-02-02
  • 打赏
  • 举报
回复
我刚才试过了,在a.jsp中这样写
<%
int x = 5;
response.sendRedirect("error.jsp?abc="+x);
%>
b.jsp中
int a;
if(request.getParameter("abc")!=null){
a=new Integer(request.getParameter("abc")).intValue();
out.println("a="+a);
}
cnliutian 2005-01-06
  • 打赏
  • 举报
回复
帮顶一下吧,都是好哥们
cnliutian 2005-01-04
  • 打赏
  • 举报
回复
楼上的,像你这样把<%= %>符号放在<% %>中,可以吗?他们两个不是得分开吗?
lvyuanfang 2005-01-04
  • 打赏
  • 举报
回复
你们都这样了做吗?
<%
int x = 5;
response.sendRedirect("right.jsp?abc=<%=x%>");
%>

这样不就ok了?用得着那么麻烦吗?
trls 2005-01-04
  • 打赏
  • 举报
回复
<%
int x = 5;
response.sendRedirect("error.jsp?abc="+x);
%>
这个保证你用

你取参数的时候得到的都是字符串格式,所以重要的是你取参数的时候进行转换
cnliutian 2005-01-04
  • 打赏
  • 举报
回复
String.valueOf(x)是把x转换到String型的吗?为什么不能把int型的值直接赋值给String型的,不是自动转型的吗?
另外转成String型的只能用valueOF()吗?为什么不用toString()语句呢?它们有区别吗?
pmaster 2005-01-04
  • 打赏
  • 举报
回复
<%
int x = 5;
response.sendRedirect("right.jsp?abc="+String.valueOf(x))&abc2="+String.valueOf(x));
%>
cnliutian 2005-01-04
  • 打赏
  • 举报
回复
response.sendRedirect("right.jsp?abc=%><%=x%><%");
用上面第二种方法为什么也报错呢?
kiss0931 2005-01-04
  • 打赏
  • 举报
回复
这样传到,还方便一些。
如果传的INT型,到那个页面再转一下。
response.sendRedirect("right.jsp?abc="+x+"");
cxz7531 2005-01-04
  • 打赏
  • 举报
回复
response.sendRedirect("error.jsp?abc=x");这一句传的就是x
joyaga 2005-01-04
  • 打赏
  • 举报
回复
对多个就这样response.sendRedirect("error.jsp?abc="+x+"&参数="+变量+"&参数="+变量+"&参数="+变量....);
spring_cj 2005-01-04
  • 打赏
  • 举报
回复
<%%> 中的代码是java语言,是在服务器上执行的。
joyaga 2005-01-04
  • 打赏
  • 举报
回复
晕这样response.sendRedirect("error.jsp?abc="+x);一定好用
mxbprogramming 2005-01-04
  • 打赏
  • 举报
回复
在几个参数的中间加上&就可以了呀
cnliutian 2005-01-04
  • 打赏
  • 举报
回复
我要是多个参数怎么传?
cnliutian 2005-01-04
  • 打赏
  • 举报
回复
这是什么意思?
华生豆 2005-01-04
  • 打赏
  • 举报
回复
<%
int x = 5;
response.sendRedirect("right.jsp?abc="+String.valueOf(x));
%>
加载更多回复(2)
实现jsp页面间的跳转 public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {   response.setContentType("text/html; charset=gb2312");   ServletContext sc = getServletContext();   RequestDispatcher rd = null;   rd = sc.getRequestDispatcher("/index.jsp"); //定向的页面   rd.forward(request, response); }   通常在servlet中使用,不在jsp中使用。    2.response.sendRedirect()   是在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?name=frank传至下个页面,同它可以重定向至不同的主机上,sendRedirect()可以重定向有frame.的jsp文件.   重定向后在浏览器地址栏上会出现重定向页面的URL   例:在servlet中重定向 public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {   response.setContentType("text/html; charset=gb2312");   response.sendRedirect("/index.jsp"); }   由于response是jsp页面中的隐含对象,故在jsp页面中可以用response.sendRedirect()直接实现重定位。   注意:    (1) 使用response.sendRedirect,前面不能有HTML输出   这并不是绝对的,不能有HTML输出其实是指不能有HTML被送到了浏览器。事实上现在的server都有cache机制,一般在8K(我是说 JSP SERVER),这就意味着,除非你关闭了cache,或者你使用了out.flush()强制刷新,那么在使用sendRedirect之前,有少量的HTML输出也是允许的。    (2) response.sendRedirect之后,应该紧跟一句return;   我们已经知道response.sendRedirect是通过浏览器来做转向的,所以只有在页面处理完成后,才会有实际的动作。既然你已经要做转向了,那么后的输出还有什么意义呢?而且有可能会因为后面的输出导致转向失败。   比较:    (1) Dispatcher.forward()是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;    (2) response.sendRedirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。   前者更加高效,在前者可以满足需要,尽量使用RequestDispatcher.forward()方法.   注:在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。    3.   它的底层部分是由RequestDispatcher来实现的,因此它带有RequestDispatcher.forward()方法的印记。   如果在之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意。   另外要注意:它不能改变浏览器地址,刷新的话会导致重复提交    4.修改HTTP header的Location属性来重定向   通过设置直接修改地址栏来实现页面的重定向。    jsp文件代码如下:    5.JSP中实现在某页面停留若干秒后,自动重定向到另一页面   在html文件中,下面的代码:

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧