`
刘鹏超
  • 浏览: 1412 次
  • 性别: Icon_minigender_1
  • 来自: 济南
最近访客 更多访客>>
社区版块
存档分类
最新评论

Include指令于include动作的区别

阅读更多
动态include用jsp:include动作实现
<jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数
    静态include用include伪码实现,它不会检查所含文件的变化,适用于包含静态页面
<%@ include file="included.htm" %>


1.include指令
    include可以在JSP页面转换成Servlet之前,将JSP代码插入其中。它的主要优点是功能强大,所包含的代码可以含有总体上影响主页面的JSP构造,比如属性、方法的定义和文档类型的设定。它的缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为主页面不会自动地查看被包含的页面是否发生更改。
include指令的语法格式如下
    <%@ include file="Relative Url"%>

2.include动作
jsp:include动作是在主页面被请求时,将次级页面的输出包含进来。尽管被包含的页面的输出中不能含有JSP,但这些页面可以是其他资源所产生的结果。服务器按照正常的方式对指向被包含资源的URL进行解释,因而这个URL可以是Servlet或JSP页面。服务器以通常的方式运行被包含的页面,将产生的输出放到主页面中,这种方式与RequestDispatcher类的include方法一致。它的优点是在被包含的页面发生更改时,无须对主页面做出修改。它的缺点是所包含的是次级页面的输出,而非次级页面的实际代码,所以在被包含的页面中不能使用任何有可能在整体上影响主页面的JSP构造。
jsp:include动作的完整语法如下
<jsp:include page="Relative path to resource" flush="true">
其中jsp:include之间不能有空格,page属性指定被包含的页面,这个属性是必需的,是指向某种资源的相对URL。如果这个相对URL不是以/开头,则将其解释为相对于主页面的路径;如果是以/开头,是这个URL被解释为相对于当前WEB应用的根目录,而不是服务器的根目录,这是因为该URL是由服务器来解释的,不是由用户的浏览器来解释的。像下面这行代码,是由用户的浏览器进行解释的,因此会按照相对于服务器的根目录进行解释。
flush属性是一个可选的次级属性,默认值为false,它指定在将页面包含进来之前是否应该清空主页面的输出流。
   注意:在JSP1.1中,flush是必需的属性,而且聚会只能是true。

两者的区别和比较:

jsp:include动作和include指令之间的根本性的不同在于它们被调用的时间。jsp:include动作在请求期间被激活,而include指令在页面转换期间被激活。
   两者之间的差异决定着它们在使用上的区别。使用include指令的页面要比使用jsp:include动作的页面难于维护。前面已经说过,使用JSP指令,如果包含的JSP页面发生变化,那么用到这个页面的所有页面都需要手动更新。在JSP服务器的相关规范中并没要求能够检测出包含的文件什么时候发生改变,实际上大多数服务器页都有去实现这种机制。这样就会导致十分严重的维护问题,需要记住所有包含某一个页面的其他页面,或者重新编译所有的页面,以使更改能够生效。在这点上,jsp:include就体现出了十分巨大的优势,它在每次请求时重新把资源包含进来。在实现文件包含上,应该尽可能地使用jsp:include动作。
   jsp:include动作直比于include指令在维护上有着明显优势,而include指令仍然能够得以存在,自然在其他方面有特殊的优势。这个优势就是include指令的功能更强大,执行速度也稍快。include指令允许所包含的文件中含有影响主页面的JSP代码,比如响应报送的设置和属性方法的定义。
分享到:
评论

相关推荐

    jsp中两种包含关系(include动作和include指令)的区别

    在JavaServer Pages (JSP) 技术中,存在两种包含关系:`&lt;jsp:include&gt;` 动作和 `jsp:include` 指令。它们都是用来将一个页面的内容插入到另一个页面中的,但它们的工作方式和适用场景有所不同。 **1. `&lt;jsp:include...

    JSP:include和include指令区别

    在JavaServer Pages (JSP) 技术中,`&lt;jsp:include&gt;` 和 `&lt;%@ include %&gt;` 是两个用于页面组合的指令,它们虽然都用于将一个或多个文件的内容插入到主页面中,但它们的工作机制和使用场景有所不同。理解这两者的区别...

    JSP的include指令的使用方法

    JSP的include指令适用于不经常变化的页面组件的包含,例如页脚、页眉、导航栏等。如果被包含的页面内容需要频繁更改,或者希望被包含的部分可以独立修改而不影响主页面,则建议使用JSP的include动作(`&lt;jsp:include&gt;...

    JSP中include指令和include行为的区别

     jsp:include page=” ” flush=”true”/&gt; 前者是指令元素、后者是行为元素。具体它们将在何处用?如何用及它们有什么区别?这应该是很多人看到它都会想到的问题。下面一起来看看吧。 通常当应用程序中所有的...

    JSP指令和动作熟悉

    本篇将详细介绍JSP中的`page`指令,以及`include`指令与相关动作`&lt;jsp:include&gt;`, `&lt;jsp:forward&gt;`, `&lt;jsp:fallback&gt;`, `&lt;jsp:plugin&gt;`。 首先,`page`指令是JSP中最高级别的指令,它用于定义整个JSP页面的属性。`...

    JSP中include指令静态导入和动态导入的区别.pdf

    动态导入则使用`&lt;jsp:include&gt;`动作元素,语法为`&lt;jsp:include page="{relativeURL|&lt;%=expression%&gt;}" flush="true/false"&gt;`。与静态导入不同,动态导入在运行时完成,它不会将被导入页面的编译指令合并到主页面中...

    jsp中include指令静态导入和动态导入的区别详解

    在JavaServer Pages(JSP)技术中,页面之间的内容包含是常见需求,这可以通过include指令实现。JSP中的include指令有两种方式:静态导入和动态导入。了解它们之间的区别,对于开发高效且易于维护的Web应用至关重要...

    C++中#include、#pragma的含义

    `#pragma` 指令是 C++ 中的一种预处理指令,用于设定编译器的状态或者是指示编译器完成一些特定的动作。`#pragma` 指令可以影响编译器的行为,例如指定编译器的警告级别、优化级别等。 `#pragma` 指令可以有多种...

    jsp:include与include实探

    首先,`jsp:include`是JSP标准动作标签,其语法格式为: ```jsp &lt;jsp:include page="relativeUrl" flush="true|false" /&gt; ``` 这里的`page`属性指定要包含的资源路径,可以是相对URL或者绝对URL。`flush`属性默认为`...

    实验2 JSP指令标记与JSP动作标记(3.20)

    **include指令** - **定义**: `include`指令用于静态地包含其他资源的内容。 - **语法**: ```jsp &lt;%@ include file="relativePath" %&gt; ``` - **实验应用**: - 在`first.jsp`、`third.jsp`和`second.jsp`中分别...

    Java Web应用开发 14 课堂案例-使用include动作.docx

    本案例旨在教授如何使用`jsp:include`动作,并对比其与`&lt;jsp:include&gt;`指令的区别。下面将详细阐述`jsp:include`动作的使用方法以及它与`include`指令的差异。 ### `jsp:include`动作的基本语法和用法 `jsp:...

    include 详析

    ### JSP的Include指令详解 #### `&lt;%@ include file="% %&gt;` 这种形式的`include`指令是在编译阶段执行的。当JSP页面被请求时,服务器会先读取该指令,并将指定的文件内容合并到当前JSP页面中,然后将整个合并后的...

    JSP指令与动作熟悉

    实验目的:掌握3种脚本、page和include指令、&lt;jsp:include&gt;和动作。 实验内容: 1. 编写一个页面片段top.jspf,作用是显示网站名称和日期(服务器时间)。显示内容如下: 作业3网站 今天是:2014-02-28 2. 编写一个...

    实验2_Jsp语法 -页面基本结构、指令标记和动作标记

    本次实验主要聚焦于JSP(JavaServer Pages)的基本语法学习,涵盖了页面的基本结构、指令标记以及动作标记的运用。实验旨在使参与者能够熟练掌握如何在JSP页面中嵌入成员变量、Java程序片段及表达式,同时深入了解`...

    JSP中的编译指令和动作指令的两点区别

    编译指令和动作指令在JSP页面中扮演着不同的角色,它们有着明显的区别和用途。 首先,我们要明确编译指令是什么。编译指令是在JSP页面转换为Java Servlet时由容器(如Web服务器中的Servlet引擎)处理的指令。它们...

    Jsp脚本元素指令以及动作课后作业

    - **Include指令:** 包含其他文件,可以是在编译时或运行时包含。 - **Taglib指令:** 指定要使用的标签库的位置和前缀。 **4. JSP的标准动作包括哪些?这些标准动作能完成什么功能?** - **jsp:include:** 在...

    jsp的include的两种用法

    相比之下,`&lt;jsp:include page=” ” flush=”true”/&gt;` 是 JSP 的动作元素,它可以在运行时将指定的 JSP 文件包含到当前 JSP 文件中。这个过程发生在执行阶段,而不是翻译阶段。这意味着 `&lt;jsp:include page=” ” ...

    模块一语言基础模块教学单元4JSP指令元素和动作元素公开课获奖课件.pptx

    比如,JSP Include动作 `&lt;jsp:include&gt;` 可以动态地组合多个页面,forward动作 `&lt;jsp:forward&gt;` 可以将请求转发到另一个页面,param动作 `&lt;jsp:param&gt;` 用于传递参数,而plugin动作 `&lt;jsp:plugin&gt;` 则用于创建浏览器...

    实验2 JSP动作标记.pdf )

    使用include动作标记可以传递参数,通过param子标记可以向被包含的页面传递参数值,使得被包含的页面能够根据传递过来的参数来显示不同的内容或者进行相应的操作。 其次,forward动作标记的作用是将页面的控制权从...

Global site tag (gtag.js) - Google Analytics