jsp:forward跳转详解

<jsp:forward>用于将一个jsp的内容传送到page所指定的JSP程序或者Servlet中处理(URL)。既可以转发到静态的HTML页面,也可以转发到动态的JSP页面,或者转发到容器中的Servlet。

语法

<jsp:forward page={"relativeURL" | "<%= expression %>"} />

从该指令处停止当前页面的继续执行,而转向其他的一个JSP页面。

page="{relativeURL | <%= expression %>}"
这里是一个表达式或是一个字符串用于说明你将要定向的文件或URL.这个文件可以是JSP,程序段,或者其它能够处理request对象的文件(如jsp,cgi,php).

<jsp:forward page="{relativeURL|<%=expression%>}">
    {jsp:param..../>}
</jsp:forward>

jsp: param用于在转发时增加额外的请求参数。请求参数的值可以通过HttpServletRequest类的getParameter()方法获得。

例子

//跳转前页面tiaozhuan_a.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>跳转前页面</title>
</head>
<body>
<%
String username = "wangyan";
%>
<jsp:forward page="tiaozhuan_b.jsp">
<jsp:param name="name" value="<%=username%>" />
<jsp:param name="inf" value="我是传过来的inf" />
</jsp:forward>
</body>
</html>
//跳转后页面tiaozhuan_b.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>跳转后页面,同时接收参数</title>
</head>
<body>
参数一:<%=request.getParameter("name")%>
参数二:<%=request.getParameter("inf")%>
</body>
</html>

地址栏输入:http://localhost:8080/JSP/tiaozhuan_a.jsp 后,显示直接跳转到tiaozhuan_b.jsp,但是页面还是停留在a页面。

jsp:forward跳转例子

总结

1. jsp:forward执行时,用户请求的地址依然没有发生变化,但页面内容却完全被forward目标页的内容。

2. 执行forward指令转发请求时,客户端的请求参数不会丢失。

3. <jsp:forward>动作指令之后的代码是不会执行的。

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。