04. JSP 请求转发&包含

JSP 请求转发和包含

  • 由于 JSP 也是基于 Java Servlet 实现的,所以在JSP文件进行请求转发和包含,可以通过通过隐含对象 application(相当于 Servlet 中的 ServletContext 对象) 的RequestDispatcher对象,通过调用其 include 和 forward 实现;
  • 同时 JSP 本身也提供了一系列的标签来更加简便地实现这两个功能;

JSP 请求转发

主要的方法有2种:

1)使用<jsp:forward>动作标签

<jsp:forward>动作把请求转到另外的页面,改标签可以添加在 JSP 的任意位置,同 Servlet 一样,当JSP编译阶段时编译该标签时,忽略原来页面的所有响应正文,直接将请求转移到指定页面,这一点用 Servlet 的 RequestDispatcher.forward()是一样的;
 
...
<%--忽略本JSP文件的所有响应正文,直接将请求跳转到路径为"/target.jsp"的文件--%>
<jsp:forward page="target.jsp" />
...

2)通过隐含对象 application

 
...
<% application.getRequestDispatcher("/target.jsp").forward(request,response); %>
...


JSP 包含

主要由3种方法:

1)使用<%@ include %>包含指令

使用包含指令,指定的文件会在本 JSP 加载之前就进行加载,并包含到本JSP文件的最开始部分;
 
<%--在加载本JSP之前,导入一个路径为"/header.jsp"的文件到本JSP文件头部,该文件描述一些开头部分的html元素 --%>
<%@ include file="/header.jsp" %>
...

2)使用<jsp:include>动作标签

使用该动作标签,在JSP文件的任意位置包含一段指定的JSP文件;
 
...
<%--在接下去的代码之前,导入一个路径为"/commentBox.jsp"的JSP文件,该文件描述一个嵌入的评论框 --%>
<jsp:include page="/commentBox.jsp" flush="true"/>
...

3)通过隐含对象 application

 
...
<% application.getRequestDispatcher("/commentBox.jsp").include(request,response); %>
...






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值