请教JSP下跳转问题,谢谢。我的多次response.sendRedirect无效,页面一篇空白了。

时间:2021-12-10 17:12:27
请教一个JSP跳转的问题,谢谢:

String userid = "600";
String url = "http://www.xxx.net/a.jsp?iuser=";
url = url + userid;
out.print("url is:"+url+ "");   //这里我调试出 输出地址为: http://www.xxx.net/a.jsp?iuser=600  这个没错

而且我直接打开IE,输入地址 http://www.xxx.net/a.jsp?iuser=600  也可以打开我想要的效果

//但是当我补充了下面这条response.sendRedirect以后,页面就不能进行跳转了,请教阿。。..

//response.sendRedirect (url);  




很关键的一个背景是我在a.jsp 这个页面里 又得到了  url = http://www.xxx.net/b.jsp?iuser=600
然后 response.sendRedirect (url);  


是不是因为我两次 跳转,导致失效了?
请教下。谢谢。

35 个解决方案

#1


比如我的a.jsp 里
<% 
String iuser = userid;
String url = "http://xxx/b.jsp?iuser=";

url = url + iuser;

out.print("url is:"+url+"");
response.sendRedirect(url);
%>

然后b.jsp里 iuser = "&iuser" + request.getParameter("iuser");

再继续跳转 c.jsp 

response.sendRedirect (url);

这样为啥不行阿?
多谢啦。

#2


response.sendRedirect (url);  
return;
试试

#3


response.sendRedirect (url);
这样好象叫重定项 是不能传参数到下一个页面的 
你换成 javax.servlet.RequestDispatcher rd = request.getRequestDispatcher("路径");
      rd.forward();
这个方法试下 
因为我看见你的网址上有参数传递 
不知道是不是这个原因 

#4


学习中

#5


引用 2 楼 mingjie110 的回复:
response.sendRedirect (url);  
return;
试试



这个试了,不行阿。

500 Servlet Exception
注意:sun.tools.javac.Main 已过时。
test_iuser.jsp:116: 无法访问语句。
      pageContext.write(_jsp_string61, 0, _jsp_string61.length);
      ^
1 个错误, 1 个警告


#6


引用 3 楼 javagongcheng 的回复:
response.sendRedirect (url);
这样好象叫重定项 是不能传参数到下一个页面的 
你换成 javax.servlet.RequestDispatcher rd = request.getRequestDispatcher("路径");
  rd.forward();
这个方法试下 
因为我看见你的网址上有参数传递 
不知道是不是这个原因

还是不行呀。。。。

test_iuser.jsp:115: 在 interface javax.servlet.RequestDispatcher
中未找到与 forward() 匹配的方法。
rd.forward();


#7


看不懂啥意思,菜鸟飘过

#8


重定向是访问不了的!在JSP页面里用<jsp:forward >,在severlet里面用RequestDispatcher.foward

#9


引用 6 楼 xocom 的回复:
引用 3 楼 javagongcheng 的回复:
response.sendRedirect (url);
这样好象叫重定项 是不能传参数到下一个页面的
你换成 javax.servlet.RequestDispatcher rd = request.getRequestDispatcher("路径");
rd.forward();
这个方法试下
因为我看见你的网址上有参数传递
不……



那就般到JSP中试试吧 
还有就是检查一下写对了没有 
我没有测试过 
要是完全正确了还是不行 就在下面加一个 return;
javax.servlet.RequestDispatcher rd = request.getRequestDispatcher("路径");
rd.forward();
return;

#10


引用楼主 xocom 的回复:
请教一个JSP跳转的问题,谢谢:

String userid = "600";
String url = "http://www.xxx.net/a.jsp?iuser=";
url = url + userid;
out.print("url is:"+url+ ""); //这里我调试出 输出地址为: http://www.xxx.net/a.jsp?iuser=600 这个没错
……


http协议是无状态协议
你拿着带有参数的URL跳转的时候一定要用服务器条状,否则参数就丢了
request.getRequestDispatcher("下一个页面地址").forward(request,response);

#11


http协议是无状态协议
你拿着带有参数的URL跳转的时候一定要用服务器跳转,否则参数就丢了
request.getRequestDispatcher("下一个页面地址").forward(request,response);

#12


补充一下 
是不行的话再般到JSP 
我记得这句是不写在JSP里的 
忘了很多了 .. 希望楼主上网查一下 java 跳转页面的方法.. 
我觉得这一句如果写对了应该可以的把 

另外 各位前辈去帮我看下我的问题呗 
http://topic.csdn.net/u/20101103/16/c52148b2-ae05-4941-9c1d-84698916f5c5.html?seed=1013355318&r=69575460#r_69575460

#13


11楼应该行得通的

#14


哈哈 10 正解了 就听他的.. 

#15


引用 11 楼 zhuchao_ko 的回复:
http协议是无状态协议
你拿着带有参数的URL跳转的时候一定要用服务器跳转,否则参数就丢了
request.getRequestDispatcher("下一个页面地址").forward(request,response);



参数丢失 是指我 b.jsp 下相跳转c.jsp的时候参数丢失么?

request.getRequestDispatcher("下一个页面地址").forward(request,response);

上面的“下一个地址” 可以为 http://www.xxx.net/c.jsp?iuser=600
么?谢谢

#16


引用 11 楼 zhuchao_ko 的回复:
http协议是无状态协议
你拿着带有参数的URL跳转的时候一定要用服务器跳转,否则参数就丢了
request.getRequestDispatcher("下一个页面地址").forward(request,response);


神奇的状态栏 一直跳,然后页面一片空白。。。。
跟我 response.sendRedirect  状态很象阿。

#17


我举个例子吧
a.jsp b.jsp c.jsp d.jsp 4个页面

a.jsp 中
<a href="b.jsp?name=zhuchao">我跳!</a>

b.jsp 中
<% request.getRequestDispatcher("c.jsp").forward(request,response);%>

c.jsp 中
<% request.getRequestDispatcher("d.jsp").forward(request,response);%>

d.jsp中获取 name 的参数
<%
  out.println(request.getParameter("name"));
%>

#18


response.sendRedirect 代参数的情况下条状不要用这个。

#19


引用 17 楼 zhuchao_ko 的回复:
我举个例子吧
a.jsp b.jsp c.jsp d.jsp 4个页面

a.jsp 中
<a href="b.jsp?name=zhuchao">我跳!</a>

b.jsp 中
<% request.getRequestDispatcher("c.jsp").forward(request,response);%>

c.jsp 中
<% request.getReques……


帅哥,这个例子举的不错,赞!!!

<% request.getRequestDispatcher("c.jsp").forward(request,response);%>

就只需要写c.jsp 而不需要传递参数,就能 后台默默传递了?

我去试下,谢谢。

#20


引用 15 楼 xocom 的回复:
引用 11 楼 zhuchao_ko 的回复:
http协议是无状态协议
你拿着带有参数的URL跳转的时候一定要用服务器跳转,否则参数就丢了
request.getRequestDispatcher("下一个页面地址").forward(request,response);



参数丢失 是指我 b.jsp 下相跳转c.jsp的时候参数丢失么?

request.getRequ……

不是,你可以先把iuser存入request中,

request.setAttribute("iuser","600");
然后跳转:

request.getRequestDispatcher("http://www.xxx.net/b.jsp").forward(request,response);

在b.jsp中
String iuser=(String )request.setAttribute("iuser");
主要就可以获取iuser了

b.jsp跳转到c.jsp也是一样



#21


引用 17 楼 zhuchao_ko 的回复:
我举个例子吧
a.jsp b.jsp c.jsp d.jsp 4个页面

a.jsp 中
<a href="b.jsp?name=zhuchao">我跳!</a>

b.jsp 中
<% request.getRequestDispatcher("c.jsp").forward(request,response);%>

c.jsp 中
<% request.getReques……


迷惑了,
假设 我在a.jsp 里计算出了一个变量 name


这个变量是要传递到一个  b.jsp里的

b.jsp 接受了这个参数以后,是要直接打开 c.jsp页面的。


也就是说 我点了 a.jsp页面链接后,最后效果要直接打开c.jsp?name=参数 

谢谢了。  

#22


forword是服务器定向
sendRedirect  仅仅是客户端,也就是告诉浏览器去跳转,改变的是http协议head头文件。对浏览器下达重定向指令,让浏览器对在location中指定的URL提出请求,使浏览器显示重定向网页的内容

#23


a.jsp 里的 name  变量 随便你改 
我用4个页面只是做一个例子 你不用盯着4个页面不放的。
你只要关系 第一个页面 跟最后一个页面就是了 
第一个页面 传有参数的URL

最后的参数只要接收这个URL上的参数的值就行

中间跳2个页面还是条20000000个页面

只需要用服务器跳转
【request.getRequestDispatcher("下一个页面.jsp").forward(request,response);】
就行了,不要用 response.sendRedirect

否则参数到你最后一个页面就丢失了 你会获得 NULL。

#24


该回复于2010-11-04 09:54:52被版主删除

#25


【request.getRequestDispatcher("下一个页面.jsp").forward(request,response);】
顶!

#26


这样的问题,得分清楚跳转的种类问题先了~学习中~

#27


引用 1 楼 xocom 的回复:
比如我的a.jsp 里
<% 
String iuser = userid;
String url = "http://xxx/b.jsp?iuser=";

url = url + iuser;

out.print("url is:"+url+"");
response.sendRedirect(url);
%>

然后b.jsp里 iuser = "&amp;iuse……

你b页面里怎么得到url的??

#28


request.getRequestDispatcher("下一个页面.jsp").forward(request,response);
这样是请求的转发,比如1.jsp发送请求到2.jsp,但是在2.jsp转发到了3.jsp,那么在3.jsp是能接受到1.jsp发送过来的请求的,整个过程是一个request;
response.sendRedirect("页面");
这是重定向,比如1.jsp发送请求到2.jsp,但是在2.jsp重定向到了3.jsp,那么在3.jsp是不能接受到1.jsp发送过来的请求的,因为这个过程不是一个请求

#29


引用 2 楼 mingjie110 的回复:
response.sendRedirect (url);  
return;
试试

return 一下,这个貌似是进程问题

#30


引用 23 楼 zhuchao_ko 的回复:
a.jsp 里的 name 变量 随便你改 
我用4个页面只是做一个例子 你不用盯着4个页面不放的。
你只要关系 第一个页面 跟最后一个页面就是了 
第一个页面 传有参数的URL

最后的参数只要接收这个URL上的参数的值就行

中间跳2个页面还是条20000000个页面

只需要用服务器跳转
【request.getRequestDispatcher("下一个页面.jsp")……


谢谢这位朋友。 让我比较清楚了 request.getRequestDispatcher 也可以在页面间传递参数。
但是可能我的问题不够试用,也可能我没有把我的问题表述清楚。


现在是这样的。
我在打开a.jsp 页面后,已经成功输出了我打算要跳转的 地址:

url is:http://www.xxx.net/b.jsp?iuser=600 

现在我的目的就是要跳转到这个地址。


我发现如果我补一个超级链接,是可以直接打开我要的b.jsp并传递了iuser参数的。【 但是这个需要点一下超级链接,才能正常跳转并传参
 <a hrf = <%=url%>点这进链接</a>

现在我就希望在a.jsp里 得到url后自动进行跳转,而我尝试了 
response.Redirect 木有成功,

request.getRequestDispatcher 这个确实不会写。【帅哥不要血喷哦,我比较愚笨,对JSP也不太熟悉,谢谢。】


再次感谢大家的回帖。





#31


我尝试 request.getRequestDispatcher 不成功的原因我怀疑是跳转的页面 跨了2个站的问题,
因为我的a.jsp 是在 
http:// 服务器1/a.jsp


而要跳转的b.jsp 
是在  http:// 服务器2/b.jsp?iuser=600

a.jsp下我拼出了
url = "http://服务器2/b.jsp?iuser=600"  //这个输出文本是成功的
但是补充了下面这句就不成功了,这个为啥呀?【最后补充了  return;也不行】
response.Redirect(url);  

#32


a.jsp


<html>
<head>
</head>
<body>
<a href="b.jsp?name=111">111</a>
</body>
</html>


b.jsp

<html>
<head>
</head>
<body>
<%
String name = request.getParameter("name");
request.setAttribute("name",name);
request.getRequestDispatcher("c.jsp").forward(request,response);
 %>
</body>
</html>


c.jsp


<html>
<head>
</head>
<body>
<%
out.print(request.getAttribute("name"));
 %>
</body>
</html>

b.jsp自动跳转到c.jsp

#33


引用 32 楼 caofaping 的回复:
a.jsp


HTML code

<html>
    <head>
    </head>
    <body>
        <a href="b.jsp?name=111">111</a>
    </body>
</html>



b.jsp

HTML code

<html>
    <head>
    </head>
    <b……


我试下,谢谢

#34


你直接用一个<a herf=""></a>就完事了 哪有那么费劲啊 

#35


汗阿。终于解决了。

非常感谢大家的帮助。


最后用了JS 调用 JSP里的变量,
然后再 window.navigate(url)

实现了,不过为啥 得到了URL,自动 redirect不行,也不知道。

谢谢大家,结贴。

#1


比如我的a.jsp 里
<% 
String iuser = userid;
String url = "http://xxx/b.jsp?iuser=";

url = url + iuser;

out.print("url is:"+url+"");
response.sendRedirect(url);
%>

然后b.jsp里 iuser = "&iuser" + request.getParameter("iuser");

再继续跳转 c.jsp 

response.sendRedirect (url);

这样为啥不行阿?
多谢啦。

#2


response.sendRedirect (url);  
return;
试试

#3


response.sendRedirect (url);
这样好象叫重定项 是不能传参数到下一个页面的 
你换成 javax.servlet.RequestDispatcher rd = request.getRequestDispatcher("路径");
      rd.forward();
这个方法试下 
因为我看见你的网址上有参数传递 
不知道是不是这个原因 

#4


学习中

#5


引用 2 楼 mingjie110 的回复:
response.sendRedirect (url);  
return;
试试



这个试了,不行阿。

500 Servlet Exception
注意:sun.tools.javac.Main 已过时。
test_iuser.jsp:116: 无法访问语句。
      pageContext.write(_jsp_string61, 0, _jsp_string61.length);
      ^
1 个错误, 1 个警告


#6


引用 3 楼 javagongcheng 的回复:
response.sendRedirect (url);
这样好象叫重定项 是不能传参数到下一个页面的 
你换成 javax.servlet.RequestDispatcher rd = request.getRequestDispatcher("路径");
  rd.forward();
这个方法试下 
因为我看见你的网址上有参数传递 
不知道是不是这个原因

还是不行呀。。。。

test_iuser.jsp:115: 在 interface javax.servlet.RequestDispatcher
中未找到与 forward() 匹配的方法。
rd.forward();


#7


看不懂啥意思,菜鸟飘过

#8


重定向是访问不了的!在JSP页面里用<jsp:forward >,在severlet里面用RequestDispatcher.foward

#9


引用 6 楼 xocom 的回复:
引用 3 楼 javagongcheng 的回复:
response.sendRedirect (url);
这样好象叫重定项 是不能传参数到下一个页面的
你换成 javax.servlet.RequestDispatcher rd = request.getRequestDispatcher("路径");
rd.forward();
这个方法试下
因为我看见你的网址上有参数传递
不……



那就般到JSP中试试吧 
还有就是检查一下写对了没有 
我没有测试过 
要是完全正确了还是不行 就在下面加一个 return;
javax.servlet.RequestDispatcher rd = request.getRequestDispatcher("路径");
rd.forward();
return;

#10


引用楼主 xocom 的回复:
请教一个JSP跳转的问题,谢谢:

String userid = "600";
String url = "http://www.xxx.net/a.jsp?iuser=";
url = url + userid;
out.print("url is:"+url+ ""); //这里我调试出 输出地址为: http://www.xxx.net/a.jsp?iuser=600 这个没错
……


http协议是无状态协议
你拿着带有参数的URL跳转的时候一定要用服务器条状,否则参数就丢了
request.getRequestDispatcher("下一个页面地址").forward(request,response);

#11


http协议是无状态协议
你拿着带有参数的URL跳转的时候一定要用服务器跳转,否则参数就丢了
request.getRequestDispatcher("下一个页面地址").forward(request,response);

#12


补充一下 
是不行的话再般到JSP 
我记得这句是不写在JSP里的 
忘了很多了 .. 希望楼主上网查一下 java 跳转页面的方法.. 
我觉得这一句如果写对了应该可以的把 

另外 各位前辈去帮我看下我的问题呗 
http://topic.csdn.net/u/20101103/16/c52148b2-ae05-4941-9c1d-84698916f5c5.html?seed=1013355318&r=69575460#r_69575460

#13


11楼应该行得通的

#14


哈哈 10 正解了 就听他的.. 

#15


引用 11 楼 zhuchao_ko 的回复:
http协议是无状态协议
你拿着带有参数的URL跳转的时候一定要用服务器跳转,否则参数就丢了
request.getRequestDispatcher("下一个页面地址").forward(request,response);



参数丢失 是指我 b.jsp 下相跳转c.jsp的时候参数丢失么?

request.getRequestDispatcher("下一个页面地址").forward(request,response);

上面的“下一个地址” 可以为 http://www.xxx.net/c.jsp?iuser=600
么?谢谢

#16


引用 11 楼 zhuchao_ko 的回复:
http协议是无状态协议
你拿着带有参数的URL跳转的时候一定要用服务器跳转,否则参数就丢了
request.getRequestDispatcher("下一个页面地址").forward(request,response);


神奇的状态栏 一直跳,然后页面一片空白。。。。
跟我 response.sendRedirect  状态很象阿。

#17


我举个例子吧
a.jsp b.jsp c.jsp d.jsp 4个页面

a.jsp 中
<a href="b.jsp?name=zhuchao">我跳!</a>

b.jsp 中
<% request.getRequestDispatcher("c.jsp").forward(request,response);%>

c.jsp 中
<% request.getRequestDispatcher("d.jsp").forward(request,response);%>

d.jsp中获取 name 的参数
<%
  out.println(request.getParameter("name"));
%>

#18


response.sendRedirect 代参数的情况下条状不要用这个。

#19


引用 17 楼 zhuchao_ko 的回复:
我举个例子吧
a.jsp b.jsp c.jsp d.jsp 4个页面

a.jsp 中
<a href="b.jsp?name=zhuchao">我跳!</a>

b.jsp 中
<% request.getRequestDispatcher("c.jsp").forward(request,response);%>

c.jsp 中
<% request.getReques……


帅哥,这个例子举的不错,赞!!!

<% request.getRequestDispatcher("c.jsp").forward(request,response);%>

就只需要写c.jsp 而不需要传递参数,就能 后台默默传递了?

我去试下,谢谢。

#20


引用 15 楼 xocom 的回复:
引用 11 楼 zhuchao_ko 的回复:
http协议是无状态协议
你拿着带有参数的URL跳转的时候一定要用服务器跳转,否则参数就丢了
request.getRequestDispatcher("下一个页面地址").forward(request,response);



参数丢失 是指我 b.jsp 下相跳转c.jsp的时候参数丢失么?

request.getRequ……

不是,你可以先把iuser存入request中,

request.setAttribute("iuser","600");
然后跳转:

request.getRequestDispatcher("http://www.xxx.net/b.jsp").forward(request,response);

在b.jsp中
String iuser=(String )request.setAttribute("iuser");
主要就可以获取iuser了

b.jsp跳转到c.jsp也是一样



#21


引用 17 楼 zhuchao_ko 的回复:
我举个例子吧
a.jsp b.jsp c.jsp d.jsp 4个页面

a.jsp 中
<a href="b.jsp?name=zhuchao">我跳!</a>

b.jsp 中
<% request.getRequestDispatcher("c.jsp").forward(request,response);%>

c.jsp 中
<% request.getReques……


迷惑了,
假设 我在a.jsp 里计算出了一个变量 name


这个变量是要传递到一个  b.jsp里的

b.jsp 接受了这个参数以后,是要直接打开 c.jsp页面的。


也就是说 我点了 a.jsp页面链接后,最后效果要直接打开c.jsp?name=参数 

谢谢了。  

#22


forword是服务器定向
sendRedirect  仅仅是客户端,也就是告诉浏览器去跳转,改变的是http协议head头文件。对浏览器下达重定向指令,让浏览器对在location中指定的URL提出请求,使浏览器显示重定向网页的内容

#23


a.jsp 里的 name  变量 随便你改 
我用4个页面只是做一个例子 你不用盯着4个页面不放的。
你只要关系 第一个页面 跟最后一个页面就是了 
第一个页面 传有参数的URL

最后的参数只要接收这个URL上的参数的值就行

中间跳2个页面还是条20000000个页面

只需要用服务器跳转
【request.getRequestDispatcher("下一个页面.jsp").forward(request,response);】
就行了,不要用 response.sendRedirect

否则参数到你最后一个页面就丢失了 你会获得 NULL。

#24


该回复于2010-11-04 09:54:52被版主删除

#25


【request.getRequestDispatcher("下一个页面.jsp").forward(request,response);】
顶!

#26


这样的问题,得分清楚跳转的种类问题先了~学习中~

#27


引用 1 楼 xocom 的回复:
比如我的a.jsp 里
<% 
String iuser = userid;
String url = "http://xxx/b.jsp?iuser=";

url = url + iuser;

out.print("url is:"+url+"");
response.sendRedirect(url);
%>

然后b.jsp里 iuser = "&amp;iuse……

你b页面里怎么得到url的??

#28


request.getRequestDispatcher("下一个页面.jsp").forward(request,response);
这样是请求的转发,比如1.jsp发送请求到2.jsp,但是在2.jsp转发到了3.jsp,那么在3.jsp是能接受到1.jsp发送过来的请求的,整个过程是一个request;
response.sendRedirect("页面");
这是重定向,比如1.jsp发送请求到2.jsp,但是在2.jsp重定向到了3.jsp,那么在3.jsp是不能接受到1.jsp发送过来的请求的,因为这个过程不是一个请求

#29


引用 2 楼 mingjie110 的回复:
response.sendRedirect (url);  
return;
试试

return 一下,这个貌似是进程问题

#30


引用 23 楼 zhuchao_ko 的回复:
a.jsp 里的 name 变量 随便你改 
我用4个页面只是做一个例子 你不用盯着4个页面不放的。
你只要关系 第一个页面 跟最后一个页面就是了 
第一个页面 传有参数的URL

最后的参数只要接收这个URL上的参数的值就行

中间跳2个页面还是条20000000个页面

只需要用服务器跳转
【request.getRequestDispatcher("下一个页面.jsp")……


谢谢这位朋友。 让我比较清楚了 request.getRequestDispatcher 也可以在页面间传递参数。
但是可能我的问题不够试用,也可能我没有把我的问题表述清楚。


现在是这样的。
我在打开a.jsp 页面后,已经成功输出了我打算要跳转的 地址:

url is:http://www.xxx.net/b.jsp?iuser=600 

现在我的目的就是要跳转到这个地址。


我发现如果我补一个超级链接,是可以直接打开我要的b.jsp并传递了iuser参数的。【 但是这个需要点一下超级链接,才能正常跳转并传参
 <a hrf = <%=url%>点这进链接</a>

现在我就希望在a.jsp里 得到url后自动进行跳转,而我尝试了 
response.Redirect 木有成功,

request.getRequestDispatcher 这个确实不会写。【帅哥不要血喷哦,我比较愚笨,对JSP也不太熟悉,谢谢。】


再次感谢大家的回帖。





#31


我尝试 request.getRequestDispatcher 不成功的原因我怀疑是跳转的页面 跨了2个站的问题,
因为我的a.jsp 是在 
http:// 服务器1/a.jsp


而要跳转的b.jsp 
是在  http:// 服务器2/b.jsp?iuser=600

a.jsp下我拼出了
url = "http://服务器2/b.jsp?iuser=600"  //这个输出文本是成功的
但是补充了下面这句就不成功了,这个为啥呀?【最后补充了  return;也不行】
response.Redirect(url);  

#32


a.jsp


<html>
<head>
</head>
<body>
<a href="b.jsp?name=111">111</a>
</body>
</html>


b.jsp

<html>
<head>
</head>
<body>
<%
String name = request.getParameter("name");
request.setAttribute("name",name);
request.getRequestDispatcher("c.jsp").forward(request,response);
 %>
</body>
</html>


c.jsp


<html>
<head>
</head>
<body>
<%
out.print(request.getAttribute("name"));
 %>
</body>
</html>

b.jsp自动跳转到c.jsp

#33


引用 32 楼 caofaping 的回复:
a.jsp


HTML code

<html>
    <head>
    </head>
    <body>
        <a href="b.jsp?name=111">111</a>
    </body>
</html>



b.jsp

HTML code

<html>
    <head>
    </head>
    <b……


我试下,谢谢

#34


你直接用一个<a herf=""></a>就完事了 哪有那么费劲啊 

#35


汗阿。终于解决了。

非常感谢大家的帮助。


最后用了JS 调用 JSP里的变量,
然后再 window.navigate(url)

实现了,不过为啥 得到了URL,自动 redirect不行,也不知道。

谢谢大家,结贴。