一、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 标作没有此限制。
分享到:
相关推荐
在JavaServer Pages (JSP) 技术中,存在两种包含关系:`<jsp:include>` 动作和 `jsp:include` 指令。它们都是用来将一个页面的内容插入到另一个页面中的,但它们的工作方式和适用场景有所不同。 **1. `<jsp:include...
本篇将详细介绍JSP中的`page`指令,以及`include`指令与相关动作`<jsp:include>`, `<jsp:forward>`, `<jsp:fallback>`, `<jsp:plugin>`。 首先,`page`指令是JSP中最高级别的指令,它用于定义整个JSP页面的属性。`...
在JavaServer Pages (JSP) 技术中,`<jsp:include>` 和 `<%@ include %>` 是两个用于页面组合的指令,它们虽然都用于将一个或多个文件的内容插入到主页面中,但它们的工作机制和使用场景有所不同。理解这两者的区别...
- **Include指令:** 包含其他文件,可以是在编译时或运行时包含。 - **Taglib指令:** 指定要使用的标签库的位置和前缀。 **4. JSP的标准动作包括哪些?这些标准动作能完成什么功能?** - **jsp:include:** 在...
在Java Web开发中,`jsp:include`和`<jsp:include>`标签是两种常见的页面包含机制,它们用于将一个或多个动态或者静态资源合并到一个JSP页面中。这两种方式虽然看似相似,但有着本质的区别,理解它们的用法和区别...
### 实验2 JSP指令标记与JSP动作标记(3.20)——知识点解析 #### 实验背景及目标 本次实验旨在加深学生对JSP技术的理解与运用能力,特别是针对JSP指令标记与JSP动作标记的学习。通过具体的操作实践,使学生能够熟练...
实验旨在使参与者能够熟练掌握如何在JSP页面中嵌入成员变量、Java程序片段及表达式,同时深入了解`<%@ page %>`, `<%@ include %>`等指令标记与`<jsp:include>`、`<jsp:forward>`等动作标记的应用场景与技巧。...
在JSP页面中,include指令是一个重要的组成部分,它用于在JSP页面编译之前将另一个文件的内容插入到当前页面。使用include指令可以将常用的代码段或组件包含到多个JSP页面中,从而实现代码的重用,提高开发效率和...
与静态导入不同,动态导入在运行时完成,它不会将被导入页面的编译指令合并到主页面中,而是仅在请求处理阶段将被导入页面的`<jsp:body>`部分插入到当前页面。动态导入更灵活,因为它是运行时的行为,所以它可以响应...
- JSP指令如`<%@ page %>`, `<%@ include %>`, `<jsp:include>`等,用于配置页面属性或引入其他文件。 - 脚本let(如`! %>`)用于声明变量和方法。 - 表达式(如`${}`)用于将Java表达式的值插入到HTML中。 - ...
实验目的:掌握3种脚本、page和include指令、<jsp:include>和<jsp:forward>动作。 实验内容: 1. 编写一个页面片段top.jspf,作用是显示网站名称和日期(服务器时间)。显示内容如下: 作业3网站 今天是:2014-02-...
jsp:include page=” ” flush=”true”/> 前者是指令元素、后者是行为元素。具体它们将在何处用?如何用及它们有什么区别?这应该是很多人看到它都会想到的问题。下面一起来看看吧。 通常当应用程序中所有的...
在这个主题中,我们将深入探讨JSP的基本语法、指令和动作元素。 ### **一、JSP基本语法** 1. **脚本元素**: - **<% %>:** 这是Java脚本let区,用于编写Java表达式,它们会被Java编译器转换为等效的Java语句。 -...
- JSP动作标签如`<jsp:include>`用于动态地包含一个页面,区别于静态`include`指令。 6. **实例分析**: - 在课件中可能包含了一些实际的JSP程序例子,如计数器`count.jsp`、比较大小`max.jsp`和计算圆周长、面积...
这与在HTML中使用iframe标签或者在JSP页面中使用静态的include指令不同,后者是在页面被翻译为Servlet之前,将内容静态地包含进来。使用include动作标记可以传递参数,通过param子标记可以向被包含的页面传递参数值...
声明式元素包括JSP指令(Directives)和JSP动作(Actions),而脚本元素包括脚本声明(Script declarations)、表达式(Expressions)和脚本块(Scriptlets)。 2. **JSP生命周期**: JSP页面在服务器上经历了翻译...
本案例旨在教授如何使用`jsp:include`动作,并对比其与`<jsp:include>`指令的区别。下面将详细阐述`jsp:include`动作的使用方法以及它与`include`指令的差异。 ### `jsp:include`动作的基本语法和用法 `jsp:...
相比之下,`<jsp:include page=” ” flush=”true”/>` 是 JSP 的动作元素,它可以在运行时将指定的 JSP 文件包含到当前 JSP 文件中。这个过程发生在执行阶段,而不是翻译阶段。这意味着 `<jsp:include page=” ” ...
与JSP的`include`指令相比,`<jsp:include>`标签在运行时包含资源,提供的是最终的运行结果,而`include`指令在编译时进行,包含源代码。`<jsp:include>`的工作方式类似于`RequestDispatcher.include()`方法,因此,...