JSP forward动作

在大多数的网络应用程序中,都有这样的情况:在用户成功登录后转向欢迎页面,此处的“转向”,就是跳转。<jsp:forward> 动作标记就可以实现页面的跳转,用来将请求转到另外一个 JSP、HTML 或相关的资源文件中。

当 <jsp:forward> 动作标记被执行后,当前的页面将不再被执行,而是去执行该标记指定的目标页面,但是,用户此时在地址栏中看到的仍然是当前网页的地址,而内容却已经是转向的目标页面了。

其语法格式如下:

  1. <jsp:forward page="relativeURL" | "<%=expression %>" />

如果转向的目标是一个动态文件,还可以向该文件传递参数,使用格式如下:

  1. <jsp:forward page="relativeURL" | "<%=expression %>" />
  2. <jsp:param name="pName1" value="pValue1 | <%=expression1 %>" />
  3. <jsp:param name="pName2" value="pValue2 | <%=expression2 %>" />

说明如下:

  1. page 属性用于指定要跳转到的目标文件的相对路径,也可以通过执行一个表达式来获得。如果该值以“/”开头,表示在当前应用的根目录下查找目标文件,否则,就在当前路径下查找目标文件。请求被转向到的目标文件必须是内部的资源,即当前应用中的资源。如果想通过 forward 动作转发到外部的文件中,将出现资源不存在的错误信息。
  2. forward 动作执行后,当前页面将不再被执行,而是去执行指定的目标页面。
  3. 转向到的文件可以是 HTML 文件、JSP 文件、程序段,或者其他能够处理 request 对象的文件。
  4. forward 动作实现的是请求的转发操作,而不是请求重定向。它们之间的一个区别就是:进行请求转发时,存储在 request 对象中的信息会被保留并被带到目标页面中;而请求重定向是重新生成一个 request 请求,然后将该请求重定向到指定的 URL,所以,事先储存在 request 对象中的信息都不存在了。

【例1】使用 <jsp:forward> 动作标记实现网页跳转。

① 创建主页面 2-22.jsp,通过表单输入用户名和密码,单击“登录”按钮,利用 <jsp:forward> 动作标记跳转到页面 target.jsp。具体代码如下:

  1. <%@ page contentType="text/html;charset=utf-8" %>
  2. <html>
  3. <body>
  4. <form action=" " method="post" name="Form"> <!--提交给本页处理-->
  5. 用户名:<input name="UserName" type="text" /> <br/>
  6. 密&nbsp;&nbsp;码:<input name="UserPwd" type="text" /> <br/>
  7. <input type="submit" value="登录" />
  8. </form>
  9. <%
  10. //当单击“登录”按钮时,调用Form1.submit()方法提交表单至本文件,
  11. //用户名和密码均不为空时,跳转到targe.jsp,并且把用户名和密码以参数形式传递
  12. String s1=null,s2=null;
  13. s1=request.getParameter("UserName");
  14. s2=request.getParameter("UserPwd");
  15. if(s1!=null && s2!=null)
  16. {
  17. %>
  18. <jsp:forward page="target.jsp" >
  19. <jsp:param name="Name" value="<%=s1%>" />
  20. <jsp:param name="Pwd" value="<%=s2%>" />
  21. </jsp:forward >
  22. <%
  23. }
  24. %>
  25. </body>
  26. </html>

② 创建所转向的目标文件 target.jsp,具体代码如下:

  1. <%@ page contentType="text/html;charset=utf-8" %>
  2. <html>
  3. <body>
  4. <%
  5. String strName=request.getParameter("UserName");
  6. String strPwd=request.getParameter("UserPwd");
  7. out.println(strName+"您好,您的密码是:"+strPwd);
  8. %>
  9. </body>
  10. </html>

③ 运行 2-22.jsp,结果如图 1 所示。


图1 使用<jsp:forward>动作标记实现网页跳转

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智慧浩海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值