首先说明一下,<jsp:forward>
是动作指令。
我觉得有必要对jsp中的几个指令总结一下了
jsp中的指令分为两大类,编译指令和动作指令。
编制指令 | <%@ inlcude file=” “%>和 <%@ page 属性1 属性2 %> |
动作指令 | <jsp:include ><jsp:forward><jsp:useBean> |
下面说<jsp:forward>
的用法
使用<jsp:forward>
的格式为 <jsp:forward page="filename">
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jspForward</title>
</head>
<body>
<jsp:forward page="login.jsp">
<jsp:param value="admin" name="userName"/>
<jsp:param value="password" name="password"/>
</jsp:forward>
<%="hello world" %>
</body>
</html>
在<jsp:forward></jsp:forward>
标签对中使用<jsp:param>
标签可以进行传值。
跳转到login.jsp,login.jsp的源码如下所示:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录信息</title>
</head>
<body>
<table>
<tr>
<td>用户名:</td><td><%=request.getParameter("userName")%></td>
</tr>
<tr>
<td>密码:</td><td><%=request.getParameter("password")%></td>
</tr>
</table>
</body>
</html>
有几点需要说明一下,
<jsp:forward>
动作指令之后的代码是不会执行的。- 使用动作指令跳转的页面,浏览器的地址还是跳转之前的页面地址