<jsp:forward>动作的功能是实现页面的请求转发,即将客户端发出的请求从一个jsp页面转交给另一个jsp页面。在转发的过程当中,客户端浏览器上显示的内容会变,但是请求不变,也就是客户端浏览器的URL地址不变。
<jsp:forward page="转发到的页面URL"/>
<jsp:forward page="转发到的页面URL"></jsp:forward>
该动作只有一个page属性,表示要请求转发到的网页地址,其值可以使用绝对路径或者相对路径,也可以使用经过表达式运算出来的路径。
实例
<!--index.jsp-->
<body>
<%
System.out.println("这行代码会执行");
%>
<jsp:forward page="text.jsp" />
<%
System.out.println("这行代码不会执行");
%>
</body>
<!--text.jsp-->
<boyd>
这是text.jsp的内容。
</body>
执行index.jsp之后,页面只显示一行文字“这是text.jsp的内容”。
“这段代码会执行“只能在控制台中看到。
<jsp:forward>动作之前的代码会执行,动作之后的代码不再执行,因此编程时需要格外注意。
还有一个问题是请求转发和请求重定向的区别,<jsp:forward>作为实现请求转发的一个动作,在页面转发后,URL地址没有发生变化,请求request也不变,因此可以在request作用域内传递参数,传递参数可以通过<jsp:param>动作来配合实现。