JSP的指令标签--include静态包含和动态包含

JSP的指令标签

  • 使用包含操作,可以将一些重复的代码包含进来继续使用,从正常的页面组成来看,有时可能分为几个区域。
  • 而其中的一些区域可能是一直不需要改变的,改变的就其中的一个具体内容区域。现在有两种方法可以实现上述功能。
    1. 在每个 JSP 页面(HTML)都包含工具栏、头部信息、尾部信息、具体内容
    2. 将工具栏、头部信息、尾部信息都分成各个独立的文件,使用的时候直接导入
  • 很明显,第二种方法比第一种更好,第一种会存在很多重复的代码,并且修改很不方便,在 JSP 中如果要想实现包含的操作
  • 有两种做法:静态包含、动态包含
  • 静态包含使用 include 指令即可,动态包含则需要使用 include 动作标签
    • include 静态包含:

      <%@ include file="要包含的文件路径" %>  <!-- 相对路径 -->
      
      • 例如:
      <%@include file="include.jsp" %>
      或
      <%@include file="include.html" %>
      
      • 静态包含就是将内容进行了直接的替换,就好比程序中定义的变量一样,是在 servlet 引擎转译时,就把此文件内容包含了进去(两个文件的源代码整合到一起, 全部放到_jspService 方法中),所以只生成了一个 servlet,所以两个页面不能有同名的变量。 运行效率高一点点。耦合性较高,不够灵活。
    • include 动态包含:

      • 动态包含在代码的编译阶段,包含和被包含部分是两个独立的部分,只有当运行时,才会动态包含进来,好比方法的调用
        <jsp:include page="include.jsp"></jsp:include>
        
      • 注意:动态包含,中间不要加任何内容,包括空格,除非确认要使用参数,否则报错
        <jsp:include page="include.html"></jsp:include>
        <%
         String a = "hello.jsp";
        %>
        <jsp:include page="<%=a %>"></jsp:include>
        
    • 使用动态包含还可以通过在页面之间传参,

    • 接收参数通过 request.getParameter(name);

      <jsp:include page="hello.jsp" flush="true">
       <jsp:param name="uname" value="zhangsan"/>
      </jsp:include>
      
      hello.jsp
      <!-- 接收参数 -->
      <%=request.getParameter("uname")%>
      
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值