我有一个JSP页面,需要引入条件重定向逻辑。例如,如果变量高于某个阈值,则继续像正常一样呈现JSP。否则,我需要将浏览器重定向到http://myapp.example.com/fizz
。
if(var > threshold) {
// Render page like normal
} else {
// Redirect to http://myapp.example.com/fizz.
}
关于如何完成此重定向部分的任何想法(来自JSP页面内部)?
答案 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");