Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JSP中重定向页面?_Java_Jsp_Redirect - Fatal编程技术网

Java 在JSP中重定向页面?

Java 在JSP中重定向页面?,java,jsp,redirect,Java,Jsp,Redirect,我必须用jsp设计几个页面。 单击第一页上的提交按钮后,该页应自动重定向到第二页 您能否提供一个快速示例或一个指向演示如何实现此功能的教程的链接 <% String redirectURL = "http://whatever.com/myJSPFile.jsp"; response.sendRedirect(redirectURL); %> 只需在包含提交按钮的属性的操作中定义目标页面即可 因此,在page1.jsp中: <form action="pag

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

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


<%
    String redirectURL = "http://whatever.com/myJSPFile.jsp";
    response.sendRedirect(redirectURL);
%>

只需在包含提交按钮的
属性的
操作中定义目标页面即可

因此,在
page1.jsp
中:

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


与问题无关,如果您需要做任何事情,JSP是做业务的最佳场所。考虑学习。

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

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

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

例如,如果用户正在点击签出链接,但如果用户已注册(登录),您希望将其发送至签出页面,如果用户未注册,则发送至注册页面

您可以使用如下核心:

然后:在简单HTML中…


使用
返回扩展@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
block或handled
If(null!=session.getAttribute(“attr\u name”)
中每次编写代码,他可能会出错

因此,通过放置
返回语句I停止进一步执行,并强制将页面重定向到特定位置

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

请注意,重定向的使用可能因需求而异。现在人们不使用这种认证系统。(现代方法-)这只是一个简单的示例,可以了解重定向的位置和方式。

为什么需要重定向?通常的方法是提交到一个servlet,该servlet转发(而不是重定向)到jsp。通过action参数以表单形式提交页面。Scriplet是一个非常糟糕的决定。说什么好比说什么坏更有帮助。应该用什么来代替scriptlet呢?这是我在google上第一次得到“重定向jsp”的结果。对于那些寻找如何始终将一个页面重定向到另一个页面的人来说,这是正确的答案(例如,要映射/index.jsp->/myapp/index.jsp,请将其放入/index.jsp并使重定向URL=“/myapp/index.jsp”)。Constantine是正确的,这是重定向提交按钮的错误方法。按钮的正确方式是使用标签或javascript,具体取决于您的架构。只是提醒一下——这对我来说很有效,但我必须在
return。结果是:
response.sendRedirect(redirectURL);%%>(甚至在
%>
之后没有换行符)事实上,我说得太快了。具有
response.sendRedirect(重定向URL)\nreturn\n%>
对我也适用。
<a href="your.domain.com/${linkToRedirect}">CHECKOUT</a>
/* 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 */
if(null == session || !session.getAttribute("is_login").equals("1")) {
    response.sendRedirect("http://domain.com/login");
    return;
}