由一个页面跳转到另外一个页面的功能称为跳转操作,而对于跳转操作也有两种语法形式:
1、直接跳转,不传递参数
<jsp:forward page="跳转页面"/>
2、跳转后进行参数传递
<jsp:forward page="跳转页面">
<jsp:param name="参数名称" value="参数内容"/>
<jsp:param name="参数名称" value="参数内容"/>
<jsp:param name="参数名称" value="参数内容"/>
...
</jsp:forward>
实际上跳转语法和包含语法的形式是相同的,并且都属于标签指令形式,对于此类形式的操作最终一定要进行标签的完结。
现在假设定义一个被跳转的页面-param.jsp
<%@ page pageEncoding="UTF-8"%>
<%
int num = 100 ;
%>
<h1>param.jsp、num=<%=num%></h1>
<h1>参数一:<%=request.getParameter("pa")%></h1>
<h1>参数二:<%=request.getParameter("pb")%></h1>
定义跳转页面
<%@ page pageEncoding="UTF-8"%>
<h1>你真的好聪明啊</h1>
<hr>
<jsp:forward page="param.jsp">
<jsp:param name="pa" value="hello"/>
<jsp:param name="pb" value="world"/>
</jsp:forward>
此时执行之后可以发现,虽然页面已经跳转过去了,但是此时路径没有发生任何的改变,这样的跳转在整个JSP之中称为服务器端跳转。
总结:
1、jsp:forward依然属于标签指令必要对其进行完结处理。
2、此类跳转属于服务器端跳转,特点:页面显示改变,地址不改变。