我需要在jsp中设计多个页面。 在第一页点击提交按钮后,页面应该自动重定向到第二页。
你能否提供一个快速示例或教程链接,演示如何实现这个功能?
<%
String redirectURL = "http://whatever.com/myJSPFile.jsp";
response.sendRedirect(redirectURL);
%>
return;
后面的任何换行符。最终代码看起来像这样:response.sendRedirect(redirectURL);%>
(甚至 %>
后也没有换行符)。 - Wisco crew你好:如果您需要更多控制链接重定向的位置,可以使用以下解决方案。
例如,如果用户点击CHECKOUT链接,但是您希望将他/她发送到结帐页面(如果已注册并登录)或注册页面(如果他/她没有注册),则可以使用以下方法。
您可以使用JSTL核心LIKE:
<!--include the library-->
<%@ taglib prefix="core" uri="http://java.sun.com/jsp/jstl/core" %>
<%--create a var to store link--%>
<core:set var="linkToRedirect">
<%--test the condition you need--%>
<core:choose>
<core:when test="${USER IS REGISTER}">
checkout.jsp
</core:when>
<core:otherwise>
registration.jsp
</core:otherwise>
</core:choose>
</core:set>
解释:与...相同
//pseudo code
if(condition == true)
set linkToRedirect = checkout.jsp
else
set linkToRedirect = registration.jsp
然后:在简单的HTML中...
<a href="your.domain.com/${linkToRedirect}">CHECKOUT</a>
在@oopbase的答案基础上,加入return;
语句。
让我们考虑一个传统身份验证系统的用例,在该系统中,我们将登录信息存储到会话中。在每个页面上,我们都会检查活动会话,例如:
/* Some Import Statements here. */
if(null == session || !session.getAttribute("is_login").equals("1")) {
response.sendRedirect("http://domain.com/login");
}
// ....
session.getAttribute("user_id");
// ....
/* Some More JSP+Java+HTML code here */
try..catch
块中编写代码或每次处理if(null != session.getAttribute("attr_name"))
,他可能会遇到错误。return;
语句,我停止了进一步执行并强制重定向页面到特定位置。if(null == session || !session.getAttribute("is_login").equals("1")) {
response.sendRedirect("http://domain.com/login");
return;
}
这应该就可以了。
在第一个页面上点击 --> 提交
按钮。
将以下代码添加到第二个页面,它将 重定向
到 home.html 页面。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<c:redirect url="home.html"/>
</body>
</html>
303 See Other
呢?天哪,我无法想象。保持优雅,Stack Overflow。*(字面意思为“大笑”)* - Ian Boyd