语法:
<jsp:param> 子标签用来向动态的目标文件中传递参数,关键代码如下:
<jsp:forward page="url">
<jsp:param name="name"value="value"/>
<jsp:param name="name"value="value"/>
……
</jsp:forward>
参数说明:
- page:该属性指定了目标文件的路径。如果该值是以“/”开头,表示在当前应用的根目录下查找文件,否则就在当前路径下查找目标文件。请求被转向到的目标文件必须是内部资源,即当前应用中的资源。
示例
若当前应用为 A,在根目录下的 index.jsp 页面中存在下面的代码,用来将请求转发到应用 B 中的 logon.jsp 页面,关键代码如下:
<jsp:forward page="http://localhost:8080/B/logon.jsp"/>
那么将出现下面的错误提示:
The requested resource(/http://localhost:8080/B/logon.jsp)is not available
仔细观察可以看到,错误提示中的路径前自动加入了一个“/”,这是因为 index.jsp 页面在应用 A 的根目录下,当执行 <jsp:forward> 标签时,会在该目录下查找 page 属性指定的目标文件,所以会提示资源不存在的信息。也就是说“<jsp:forward> 动作标签只能用于站内转发”。
注意:<jsp:forward> 标签实现的是请求的转发操作,而不是请求重定向。它们之间的一个区别是:进行请求转发时,存储在 request 对象中的信息会被保留并被带到目标页面中;而请求重定向是重新生成一个 request 请求,然后将该请求重定向到指定的 URL,所以事先存储在 request 对象中的信息都不存在了。
典型应用
本示例通过 <jsp:forward> 动作标签将请求转发到用户登录页面。在用户运行项目时,首先进入的是 index.jsp 页面,然后通过 <jsp:forward> 标签将请求转发到 login.jsp 页面。代码如下:
<body> 您现在位置为index.jsp! <jsp:forward page="login.jsp"></jsp:forward> </body>
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/22700.html