如何从JSP内部重定向

时间:2014-05-30 10:52:56

标签: java jsp redirect

我有一个JSP页面,需要引入条件重定向逻辑。例如,如果变量高于某个阈值,则继续像正常一样呈现JSP。否则,我需要将浏览器重定向到http://myapp.example.com/fizz

if(var > threshold) {
    // Render page like normal
} else {
    // Redirect to http://myapp.example.com/fizz.
}

关于如何完成此重定向部分的任何想法(来自JSP页面内部)?

6 个答案:

答案 0 :(得分:1)

使用

 reponse.sendRedirect("http://myapp.example.com/fizz");

只需添加此

即可

答案 1 :(得分:1)

试试这个 -

<%
// New location to be redirected
String site = new String("http://myapp.example.com/fizz");
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site); 
%>

或者您也可以使用 -

<%    
  response.sendRedirect("http://myapp.example.com/fizz");
 %>

您可以使用两者中的任何方法。

答案 2 :(得分:0)

在你的其他循环中你可以使用

response.sendRedirect("http://myapp.example.com/fizz");

是的,网址应该在双引号("")内,因为

response.sendRedirect()接受String参数

是的,;应该在最后,否则你的代码不会编译。

答案 3 :(得分:0)

  String site = new String("http://www.google.com");
  response.setStatus(response.SC_MOVED_TEMPORARILY);
  response.setHeader("Location", site);

答案 4 :(得分:0)

@IAmYourFaja 如果你想跳过scriplet来更好地练习代码,那么试试这个JSTL标签。

<c:if test="${var gt threshold}">
       <c:redirect url="http://myapp.example.com/fizz"/> // Redirect to http://myapp.example.com/fizz.
</c:if>

不需要添加任何其他东西。希望它会对你有所帮助。

答案 5 :(得分:0)

关于你在gau123中回答问题的查询

if I don't specify "http://", then what if I want to use SSL (https)?

为此您可以使用您的项目路径,例如,如果您想要转到 http://myapp.example.com/fizz 链接,或者使用 https://myapp.example.com/fizz < / p>

您将使用reponse.sendRedirect("../fizz");

在这两种情况下,它都会将您重定向到fizz页面

同样最可靠的是创建一个包含上下文路径的域相对URL。

response.sendRedirect(request.getContextPath() + "/fizz");

(摘自Send redirect to relative path in JSP?