`

20080823-jsp中include指令与动作的不同

阅读更多


 一、include 指令

  格式:

<%@include file="文件的绝对路径或者相对路径"%>

 
 

file属性:指定被包含的文件,是必添属性。该属性不支持任何表达式,也不允许通过如下方式来传递参数。

<%@include file="welcome.jsp?name=mr"%>

 
 

如果路径以“/”开头,那么指定的是一个绝对路径,将在当前应用的根目录下查找文件,如果是以文件名或文件夹名开头,那么指定的是一个相对路径,将在当前应用的根目录下查找文件。

 

二、include动作

 格式:

<jsp:include page="被包含文件的路径" flush="true/false">
<jsp:param name="参数名称" value="参数值"/>
</jsp:inclue>

 
 

page属性:该属性指定了被包含文件的路径,其值可以是一个代表了相对路径的表达式.当路径以"/"开头时,则按照当前应用的路径查找这个文件,如果路径是以文件名或者目录名称开头,那么将按照当前的路径来查找被包含的文件,

flush属性:表示当输出缓冲区满时,是否清空缓冲区.

 

三、两者的不同

 1、从属性方面进行区分

 include 指令通过file属性来指定被包含的页面,include指令将file属性看作一个实际存在的文件的路径。所以该属性不支持任何表达式,也不支持在struts应用中的请求模式(如*.do),若在file属性值中应用JSP表达式,会抛出异

常,如下面的代码:

 

<% String path="login.jsp"%>
<%@inclue file="<%=path%>"%>

 

 include动作标识通过page属性来指定被包含的页面,该属性支持JSP表达式和Struts 应用在的请求模式

 2、从处理方式方面进行区分

 

  使用include指令,被包含的文件为原封不动的插入到包含页中使用该指令的位置,然后JSP编译器再对这个合成的文件进行编译,所以在一个JSP页面中使用include指令来包含另外一个JSP页面,最终编译后的文件只有一个。

 

  使用include 动作标识包含文件时,当该标识执行时,程序会将请求转发到(注意是转发而不是重定向)被包含的页,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码,因为服务器执行的是两个文件。所以JSP编

译器会分别对这两个文件进行编译。

 3、从包含方式方面进行区分

 

  使用include指令包含文件,最终服务器执行的是将两个文件合成后由JSP编译器编译成一个Class 文件,所以被包含的文件的内容是固定不变的,若改变了被包含的文件,则主文件的代码就发生了变化,因此服务器会重新编译主文件

,include指令的这种包含称为静态包含

 

  使用include动作标识通常是包含那些经常需要改动的文件,此时服务器执行的是两个文件,被包含的文件改变不会影响到主文件,因此服务器不会对主文件重新编译,而只需要重新编译被包含的文件即可,而对被包含文件的编译是在执

行时才进行的,也就是说,只有当include动作被执行时,使用该标识包含的目标文件才会被编译,否则被包含的文件不会被编译,所以这种包含过程称为动态包含。

4、从被包含文件的约定方面进行区分

  JSP有一些标识符例如

<%@page contentType="text/html;charset=gb2312"%>

 
 

在一个JSP页面中只能出现一次,这个时间用jsp动作包含一个文件时,包含页与被包含页面只能有一个文件有此标识,而include 标作没有此限制。

分享到:
评论
2 楼 fuwei123456 2011-08-08  
在一个JSP页面中只能出现一次,这个时间用jsp动作包含一个文件时,包含页与被包含页面只能有一个文件有此标识,而include 标作没有此限制。

应该是


在一个JSP页面中只能出现一次,这个时间用jsp指令包含一个文件时,包含页与被包含页面只能有一个文件有此标识,而jsp动作没有此限制。

1 楼 java_frog 2008-08-26  
哈喽,我来了。

相关推荐

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

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

    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和include指令区别

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

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

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

    jsp:include与include实探

    在Java Web开发中,`jsp:include`和`&lt;jsp:include&gt;`标签是两种常见的页面包含机制,它们用于将一个或多个动态或者静态资源合并到一个JSP页面中。这两种方式虽然看似相似,但有着本质的区别,理解它们的用法和区别...

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

    ### 实验2 JSP指令标记与JSP动作标记(3.20)——知识点解析 #### 实验背景及目标 本次实验旨在加深学生对JSP技术的理解与运用能力,特别是针对JSP指令标记与JSP动作标记的学习。通过具体的操作实践,使学生能够熟练...

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

    实验旨在使参与者能够熟练掌握如何在JSP页面中嵌入成员变量、Java程序片段及表达式,同时深入了解`&lt;%@ page %&gt;`, `&lt;%@ include %&gt;`等指令标记与`&lt;jsp:include&gt;`、`&lt;jsp:forward&gt;`等动作标记的应用场景与技巧。...

    JSP的include指令的使用方法

    在JSP页面中,include指令是一个重要的组成部分,它用于在JSP页面编译之前将另一个文件的内容插入到当前页面。使用include指令可以将常用的代码段或组件包含到多个JSP页面中,从而实现代码的重用,提高开发效率和...

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

    与静态导入不同,动态导入在运行时完成,它不会将被导入页面的编译指令合并到主页面中,而是仅在请求处理阶段将被导入页面的`&lt;jsp:body&gt;`部分插入到当前页面。动态导入更灵活,因为它是运行时的行为,所以它可以响应...

    jspapi--jsp基础知识--jspapi

    - JSP指令如`&lt;%@ page %&gt;`, `&lt;%@ include %&gt;`, `&lt;jsp:include&gt;`等,用于配置页面属性或引入其他文件。 - 脚本let(如`! %&gt;`)用于声明变量和方法。 - 表达式(如`${}`)用于将Java表达式的值插入到HTML中。 - ...

    JSP指令与动作熟悉

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

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

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

    JSP基本语法指令和动作元素_couldzfw_JSP基本语法、指令和动作元素_

    在这个主题中,我们将深入探讨JSP的基本语法、指令和动作元素。 ### **一、JSP基本语法** 1. **脚本元素**: - **&lt;% %&gt;:** 这是Java脚本let区,用于编写Java表达式,它们会被Java编译器转换为等效的Java语句。 -...

    JSP上课课件-JSP语法与内置对象

    - JSP动作标签如`&lt;jsp:include&gt;`用于动态地包含一个页面,区别于静态`include`指令。 6. **实例分析**: - 在课件中可能包含了一些实际的JSP程序例子,如计数器`count.jsp`、比较大小`max.jsp`和计算圆周长、面积...

    实验2 JSP动作标记.pdf )

    这与在HTML中使用iframe标签或者在JSP页面中使用静态的include指令不同,后者是在页面被翻译为Servlet之前,将内容静态地包含进来。使用include动作标记可以传递参数,通过param子标记可以向被包含的页面传递参数值...

    达内培训课件-Jsp

    声明式元素包括JSP指令(Directives)和JSP动作(Actions),而脚本元素包括脚本声明(Script declarations)、表达式(Expressions)和脚本块(Scriptlets)。 2. **JSP生命周期**: JSP页面在服务器上经历了翻译...

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

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

    jsp的include的两种用法

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

    Java Web程序设计入门课件-JSP动作元素.pptx

    与JSP的`include`指令相比,`&lt;jsp:include&gt;`标签在运行时包含资源,提供的是最终的运行结果,而`include`指令在编译时进行,包含源代码。`&lt;jsp:include&gt;`的工作方式类似于`RequestDispatcher.include()`方法,因此,...

Global site tag (gtag.js) - Google Analytics