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。

  • 相关阅读:
    A Node Influence Based Label Propagation Algorithm for Community detection in networks 文章算法实现的疑问
    Fast Newman-FN算法以及模块度定义介绍
    Label Propagation Algorithm LPA 标签传播算法解析及matlab代码实现
    设计一个smartnic
    Intel GEN11 GPU
    Intel GEN9 GPU
    Shared Virtual Memory (SVM) Functions
    connect via ssh to virtualbox guest vm without knowing ip address
    smartnic
    技术精品翻译
  • 原文地址:https://www.cnblogs.com/xumBlog/p/9779394.html
Copyright © 2011-2022 走看看