我的应用程序有一个JSP,它使用scriplet代码根据某些条件重定向到页面。
但正在发生的是,在重定向代码response.redirect(..)
之后,下面的代码正在执行。我不想执行下面的代码或加载JSP页面,我只是想立即重定向。请参阅以下示例,请告诉我解决方案。
<html>
<body>
<%
boolean condition = true;
if(condition)
response.sendRedirect("http://www.google.co.in");
System.out.println("I don't want to execute this code, I just want to redirect after above line");
%>
</body>
</html>
答案 0 :(得分:4)
sendRedirect完成后即可使用Return语句。在这种情况下,下面的代码将不会被执行。
if(condition){
response.sendRedirect("http://www.google.co.in");
return;
}
答案 1 :(得分:1)
只有在完整执行整个代码块之后,控件才会传递到下一个URL,sendRedirect之后的任何语句都会被执行。
如果您不想打印该语句,则应该将该行从那里移动到else块中的某个位置。
<%
boolean condition = true;
if(condition)
response.sendRedirect("http://www.google.co.in");
else
System.out.println("I don't want to execute this code, I just want to redirect after above line");
%>