易妖游戏网
您的当前位置:首页JSP中实现页面跳转的有那些方法

JSP中实现页面跳转的有那些方法

来源:易妖游戏网


1.调用页面执行一部分代码后需要跳转到目标页面,待目标页面执行完毕后调用页面继续执行后面的 代码;

2.调用页面执行一部分代码后需要跳转到目标页面,待目标页面返回值后,无需继续执行调用页面后面的代码;

一种情况是calling.jsp执行一部分代码后,需要跳转到其他页面,比如destination.jsp,待destination.jsp执行完毕,calling.jsp还需继续执行,在这各情况下我们需要使用jsp:include动作;

另一种情况是calling.jsp执行一部分代码后,需要跳转到其他页面,比如destination.jsp,待 destination.jsp执行完毕,calling.jsp无需继续执行,在这各情况下我们需要使用jsp:forward动作;

下面我们举两个例子:

例一由三个页面组成request1.html、calling1.jsp和destination1.jsp。

request1.html:

<%@page contentType=\"text/html;charset=gb2312\"%>

<p>Untitled Document

请输入您的姓名:

您每月愿付租金:

calling1.jsp

<%@page contentType=\"text/html;charset=gb2312\"%>

<p>pay Exmaple

我想租X居室


<%-- Get paramaters from the request object --%>

<% String firstName = request.getParameter(\"fName\"); %>

<% String pay = request.getParameter(\"pay\"); %>

<%-- Convert the pay paramater from String to double --%>

<% double rentPay = Double.valueOf(pay).doubleValue(); %>

<%-- Output results --%>

我是 <%=firstName %>

,我每月愿出 <%=rentPay %>


<%-- Is pay high enough? --%>

<% if(rentPay >

= 500.00) { %>

<% request.setAttribute(\"chooseHouse\

<% }else { out.println(\"对不起,本市没有500元以下的居室住房!\"); } %>

destination1.jsp

<%@page contentType=\"text/html;charset=gb2312\"%>

<%-- Get paramaters from the request object --%>

<% String rent = (String) request.getAttribute(\"chooseHouse\"); %>

<%-- Is rent high enough? --%>

<% if(\"true\".equals(rent)) { %>

您在本地可 以租到楼房.


下面是您可以租到时的居室类型及地点:

一居室:三环和四环之间

二居室:四环以外

<% } %>

在request1.jsp中输入test和500元然后提交,calling1.jsp首先判断租金是否大于等于500元,如果 是就跳转到destination1.jsp。destination1.jsp处理请求后,calling1.jsp还会执行include语句后面的代 码。如果租金小于500元,就反馈给用户不能租到居室住房的信息。

例二也是由上面三个页面组成,只是对calling1.jsp做了一点点改动,以验证include和forward动作 的区别:

将jsp:include那行语句改为

可以看到页面中只 显示destination1.jsp的结果,calling1.jsp中的内容并没有显示出来,即使用jsp:forward 动作, calling1.jsp后面的代码不再继续执行。

当然,实现页面跳转还有其它一些方法,比如在之间加入或者使用javascript:history.go(-x) 也能实现,大家可以根据客户需求选择使用合适的方法。

因篇幅问题不能全部显示,请点此查看更多更全内容