一、JSP指令元素-include:
在JSP页面开发中,有时候为了减少代码的冗余,可以把在JSP开发中经常需要调用的功能代码封装成一个独立的JSP文件。其他JSP页面如果需要该部分代码,直接将其包含到当前页面即可。完成这样的操作,可以使用页面包含指令include。通常当应用程序中所有页面的某些部分(如top、down)都相同的时候,可以考虑使用该指令。
Include指令表示在当前页面中包含一个静态文件,静态包含的具体含义是指这个被包含的文件将会被完整地插入到原来的主JSP文件中去,这个由主JSP文件包含的文件可以是JSP文件、HTML文件、文本文件或者只是一段Java代码等。(当在一个JSP文件中引入另一个JSP文件时,可能会出现错误,原因是两个JSP页面中都进行了页面编码格式的设置,将被包含文件中的page指令去掉即可)其语法格式为:
<%@include file=”URL”%>
其中file表示要包含的文件,URL表示引入文件的相对路径或绝对路径。
include指令在翻译阶段(将JSP转换成Servlet的阶段)会读入指定的页面中的内容,并将这些内容和原来的页面融合起来。在融合过程中,引入的页面只是将普通文本进行融合,并不对动态内容求值,融合以后的完整页面再被整体的转换为一个Servlet。这意味着主页和被引入的页面共享所有的页面作用于数据。因此,如果在主页面声明了一个变量,而在某个被引入的页面中也声明了一个同名的变量,那么在翻译阶段将会出现错误,因为组合后的页面无法进行编译。
二、JSP动作指令<jsp:include>:
<jsp:include>动作指令表示在当前的JSP页面中,包含静态或动态资源。前面提及的include是在JSP页面被转换成Servlet的时候引入文件,这个是在页面被请求的时候引入文件,而且被引用文件不能包含某些JSP代码(例如不能设置HTTP头)。<jsp:include>动作指令可以在当前的JSP文件包含txt文件、JSP文件、HTML文件、Servlet文件。其语法格式为:
<jsp:include page=”URL” flush=”true” />
其中URL表示引入文件的相对路径或绝对路径,flush=”true”表示是否在包含目标之前先刷新输出缓冲区,其默认值为true。
或:
<jsp:include page=”URL” flush=”true” >
<jsp:param name=”paramName” value=”paramValue” />
</jsp:include>
其中<jsp:param>子句表示用来传递一个或多个参数给动态文件。当然,也可以在一个页面中使用多个<jsp:param>来传递多个参数给动态文件。
三、两者之间的区别:
最主要的区别:
include指令元素是在JSP页面被转换成Servlet的时候引入文件,包含的是源代码。
<jsp:include>动作指令是在页面被请求的时候引入文件且只include运行结果。include行为使用request.getRequestDispatcher(“URI”).forward(request, response)来执行被包含文件。
四、实例测试:
date.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %> <html> <head> <title>获取当前时间</title> </head> <body> 当前的时间是:<%= new Date()%> </body> </html>
date.html:
<html> <head> <title>静态页面</title> </head> <body> 这是date.html中的信息<br /><br > </body> </html>
incluede.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %> <html> <head> <title>测试include和jsp:include</title> </head> <body> 使用include指令<br /><br /> <%@include file="date.html" %> <%@include file="date.jsp" %> <br /><br /> <hr /> 使用jsp:include动作指令<br /><br /> <jsp:include page="date.html" flush="true"></jsp:include> <jsp:include page="date.jsp" flush="true"></jsp:include> </body> </html>
相关推荐
JSP 中 Include 指令静态导入和动态导入的区别详解 JSP 中的 Include 指令可以实现静态导入和动态导入两种方式。静态导入和动态导入是 JSP 中 Include 指令的两种不同的实现方式,它们之间有着明显的区别。 静态...
在JSP中,`include`指令用于将一个或多个页面的内容合并到主页面中,以实现页面的模块化。这有助于提高代码复用性并简化维护。`include`指令有两种形式:静态导入和动态导入,它们在处理和执行时有所不同。 1. **...
在Java Web开发中,`jsp:include`和`<jsp:include>`标签是两种常见的页面包含机制,它们用于将一个或多个动态或者静态资源合并到一个JSP页面中。这两种方式虽然看似相似,但有着本质的区别,理解它们的用法和区别...
JSP 中的 Include 的两种用法 JSP 中的 Include 有两种用法,分别是 `<%@ include file=” ”%>` 和 `<jsp:include page=” ” flush=”true”/>`。这两种用法都可以用于引入其他 JSP 文件,但是它们之间存在着一些...
### JSP中include指令与include动作的区别详解 #### 一、引言 在Java Server Pages (JSP) 技术中,为了实现页面间的重用和模块化开发,提供了两种不同的方式来包含其他JSP页面或资源:`include指令`和`jsp:include...
在JSP中,`Include` 方式是实现页面组合的重要技术,它允许我们把多个页面的内容合并到一个主页面中,从而实现代码复用和页面布局的灵活管理。本文将深入探讨JSP的`Include` 方式的概念、类型以及使用方法。 1. **...
在JavaServer Pages (JSP) 技术中,`<jsp:include>` 和 `<%@ include %>` 是两个用于页面组合的指令,它们虽然都用于将一个或多个文件的内容插入到主页面中,但它们的工作机制和使用场景有所不同。理解这两者的区别...
在JavaServer Pages(JSP)技术中,页面之间的内容包含是常见需求,这可以通过include指令实现。JSP中的include指令有两种方式:静态导入和动态导入。了解它们之间的区别,对于开发高效且易于维护的Web应用至关重要...
在JSP中,`<jsp:include>`标签是用于在页面间进行内容包含的,但有时可能会遇到“乱码”问题,这通常涉及到字符编码的处理。本文将详细解析JSP `include` 乱码问题的成因以及解决方法。 首先,我们要理解乱码产生的...
在JavaServer Pages (JSP) 技术中,存在两种包含关系:`<jsp:include>` 动作和 `jsp:include` 指令。它们都是用来将一个页面的内容插入到另一个页面中的,但它们的工作方式和适用场景有所不同。 **1. `<jsp:include...
2.4 include指令 JSP+AJAX2.4 include指令 JSP+AJAX2.4 include指令 JSP+AJAX2.4 include指令 JSP+AJAX
jsp中include指令静态导入和动态导入的区别详解JSP编译指令page、include详解JSP中动态include与静态include的区别介绍JSP指令元素(page指令/include指令/taglib指令)复习整理基于jsp:included的使用与jsp:param乱码...
`jsp_include_demo`示例可能展示了如何在JSP页面中使用`<jsp:include>`标签来包含一个或多个公共组件,如页眉、页脚或者导航栏。这些组件可以独立维护,任何改动都会自动反映在使用它们的页面上,提高了代码的组织...
在JSP中,`<jsp:include>`标签提供了比`<%@include file="..."%>`伪指令更灵活的控制动态内容的机制。`<jsp:include>`标签会每次请求时都检查被包含文件的变化,确保内容是最新的,即使内容是动态生成的。这使得`jsp...
在Java Web开发中,`<jsp:include>`动作是一个非常重要的元素,用于动态地将一个页面包含到另一个页面中。这个动作使得开发者可以实现页面的重用和模块化设计,提高代码的可维护性。本实验的目标是让学生掌握`<jsp:...
动态INCLUDE 用法:<jsp page=”included.jsp” flush=”true”> 说明:它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数,先编译之后再进行处理。 原因:1、静态include的结果是把其他jsp引入...
4. **JSP中include指令与include动作的区别** - `include`指令是静态包含,它将被包含页面的源代码直接合并到当前页面,编译时完成,不关心被包含页面的后续修改。 - `<jsp:include>`动作是动态包含,运行时执行,...
用jsp:include动作实现 <jsp include page=”included.jsp” flush>它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE 用include伪码实现,定不会检查所含文件的变化,...