zoukankan      html  css  js  c++  java
  • JSP中的<jsp:include...>和<%@include %>

     

    jsp中include有两种写法, 都是包含一个页面或者一个文件的意思, 写法略有不同

    <jsp:include page = "url" />或者<jsp:include page = "url">子动作标识<jsp:param></jsp:include>(什么是子动作标识<jsp:param>)

    还有一种是

    <%@include file="path" %>

    相对来讲, 后者要简单一点, 后者属于一个include指令元素, 并且只有一个file的属性, 只是写上路径就行了, 路径可以是相对路径也可以是绝对路径, 但不能是<%=...%>代表的表达式

    而前者是行为元素。 

    这两者的主要的区别在于

    1:指令的包含是先将代码拿过来, 然后与自己的代码一起编译显示, 动作包含的过程是先将代码编译, 然后将编译好的内容放到自己的页面中去

    2:动作的包含, page-支持表达式, 指令的包含, file-不支持表达式

    3:执行时间上: 

    <%@ include file="..."%>速度会快一些, 这个是请求一个页面

    <jsp:include page="..." />相对来讲会慢, 这个相当于请求两个页面

    二:引入内容的不同: 

    <%@ include file="..."%> 

    引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起. 

    <jsp:include page="..." flush="true" />引入执行页面或servlet所生成的应答文本. 

    另外在两种用法中file和page属性都被解释为一个相对的URI.如果它以斜杠开头,那么它就是一个环境相关的路径.将根据赋给应用程序的URI的前缀进行解释,如果它不是以斜杠开头,那么就是页面相关的路径,就根据引入这个文件的页面所在的路径进行解释.

    <%@ include file="..."%> 为静态的

    <jsp:include page="..." flush="true" />为动态的

    动态include 它总是会检查所含文件中的变化, 适合用于包含动态页面, 并且可以带参数
    静态include用include伪码实现, 不会检查所含文件的变化, 适用于包含静态页面

    通常当应用程序中所有的页面的某些部分(例如标题、页脚和导航栏)都相同的时候,我们就可以考虑用include。

  • 相关阅读:
    学习进度表
    第八次日志
    第七次日志
    第六次日志
    第五次日志
    第四次日志
    第一次日志
    第三次日志
    第二次日志
    学习进度表
  • 原文地址:https://www.cnblogs.com/xumBlog/p/9779394.html
Copyright © 2011-2022 走看看