JSP 中的重定向页面?

发布于 2024-10-17 02:42:11 字数 85 浏览 3 评论 0原文

我必须在jsp中设计几个页面。 单击第一页上的提交按钮后,页面应自动重定向到第二页。

您能否提供一个快速示例或演示如何实现此功能的教程链接?

I have to design several pages in jsp.
After clicking on the submit button on the first page, the page should be automatically redirected to the second page.

Can you help with a quick example or a link to a tutorial that demonstrates how to implement this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

甜味超标? 2024-10-24 02:42:11
<%
    String redirectURL = "http://whatever.com/myJSPFile.jsp";
    response.sendRedirect(redirectURL);
%>
<%
    String redirectURL = "http://whatever.com/myJSPFile.jsp";
    response.sendRedirect(redirectURL);
%>
岁月染过的梦 2024-10-24 02:42:11

此答案还包含仅使用 jstl 重定向标记的标准解决方案:

<c:redirect url="/home.html"/>

This answer also contains a standard solution using only the jstl redirect tag:

<c:redirect url="/home.html"/>
梦中的蝴蝶 2024-10-24 02:42:11

只需在包含提交按钮的

action 属性中定义目标页面即可。

因此,在 page1.jsp 中:

<form action="page2.jsp">
    <input type="submit">
</form>

与问题无关,JSP 是 不是 做生意的最佳场所(如果您需要做任何事情的话)。考虑学习 servlet

Just define the target page in the action attribute of the <form> containing the submit button.

So, in page1.jsp:

<form action="page2.jsp">
    <input type="submit">
</form>

Unrelated to the problem, a JSP is not the best place to do business stuff, if you need to do any. Consider learning servlets.

眼眸 2024-10-24 02:42:11

您好:如果您需要更多地控制链接应重定向到的位置,您可以使用此解决方案。

IE。如果用户点击结帐链接,但您希望将他/她发送到结帐页面(如果其已注册(登录)或注册) > 如果他/她不是,请查看页面。

您可以使用 JSTL 核心,例如:

<!--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>

Hello there: If you need more control on where the link should redirect to, you could use this solution.

Ie. If the user is clicking in the CHECKOUT link, but you want to send him/her to checkout page if its registered(logged in) or registration page if he/she isn't.

You could use JSTL core 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>

EXPLAINING: is the same as...

 //pseudo code
 if(condition == true)
   set linkToRedirect = checkout.jsp
 else
   set linkToRedirect = registration.jsp

THEN: in simple HTML...

<a href="your.domain.com/${linkToRedirect}">CHECKOUT</a>
梦在深巷 2024-10-24 02:42:11

使用 return; 语句扩展@oopbase的答案。

让我们考虑一个传统身份验证系统的用例,其中我们将登录信息存储到会话中。在每个页面上,我们都会检查活动会话,例如,

/* 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;
}

请注意,重定向的使用可能会根据要求而有所不同。现在人们不使用这样的身份验证系统。 (现代方法 - 基于令牌的身份验证)这只是一个简单的示例,用于了解在何处以及如何放置重定向)。

Extending @oopbase's answer with return; statement.

Let's consider a use case of traditional authentication system where we store login information into the session. On each page we check for active session like,

/* 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 */

It looks fine at first glance however; It has one issue. If your server has expired session due to time limit and user is trying to access the page he might get error if you have not written your code in try..catch block or handled if(null != session.getAttribute("attr_name")) everytime.

So by putting a return; statement I stopped further execution and forced to redirect page to certain location.

if(null == session || !session.getAttribute("is_login").equals("1")) {
    response.sendRedirect("http://domain.com/login");
    return;
}

Note that Use of redirection may vary based on the requirements. Nowadays people don't use such authentication system. (Modern approach - Token Based Authentication) It's just an simple example to understand where and how to place redirection(s).

剪不断理还乱 2024-10-24 02:42:11

这应该可以解决问题。

点击-->第一页上的提交按钮

将以下代码添加到第二页,它将重定向到home.html页面。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<c:redirect url="home.html"/>
</body>
</html>

This should do the trick.

Click --> Submit Button on the First page

Add the below Code into Second Page, it will redirect to home.html page.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<c:redirect url="home.html"/>
</body>
</html>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文