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页面。

总结
1. jsp:forward执行时,用户请求的地址依然没有发生变化,但页面内容却完全被forward目标页的内容。
2. 执行forward指令转发请求时,客户端的请求参数不会丢失。
3. <jsp:forward>动作指令之后的代码是不会执行的。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。