include指令:

  文件包含指令include是jsp的另一条指令标识。通过该指令可以在一个jsp页面中包含另一个jsp页面。不过该指令是静态包含,也就是说被包含文件中所有内容会被原样包含到jsp页面中,即使被包含文件中有jsp代码,在包含时也不会被编译执行。使用include指令,最终生成一个文件,所以在被包含和包含的文件中,不能有相同名称的变量。

图1 include指令包含文件的过程

include指令的语法格式:

  <%@ include file = "path"%>

该指令只有一个file属性,用于指定要包含文件的路径。该路径可以是相对路径,也可以是绝对路径。但是不可以通过<%=%>表达式所代表的文件。

例:

<%@ page language= "java" contentType="text/html;charset=UTF-8" %>
<html>
<head>
<meta charset="utf-8">
<title>JSPinclude动作实例</title>
</head>
<body>
<%@ include file = "top.jsp" %>
</body>
</html>

jsp:include动作标识:

  jsp的动作标识<jsp:include>用于向当前页面中包含其他的文件。被包含的文件可以是动态文件,也可以是静态文件。

图2 <jsp:include>动作标识包含文件的过程

<jsp:include>动作标识的语法格式:

<jsp:include page="url" flush="false|true">

<%@ page language= "java" contentType="text/html;charset=UTF-8" %>
<html>
<head>
<meta charset="utf-8">
<title>JSPinclude动作实例</title>
</head>
<body>
<jsp:include page="top.jsp" flush="true"></jsp:include>
</body>
</html>

两者的区别:

  1. include指令通过file属性来指定被包含的文件,并且file属性不支持任何表达式;<jsp:include>动作标识通过page属性来指定被包含的文件,而且page属性支持jsp表达式。
  2. 使用include指令时,被包含的文件内容会原封不动的插入到包含页面中,然后JSP编译器再对这个合成的文件最终编译成一个java文件,所以在一个JSP页面中使用include指令来包含另一个JSP页面,最终编译后的文件只有一个(静态包含);使用<jsp:include>动作包含文件时,当该动作标识执行后,JSP程序会将请求转发到(注意是转发,不是重定向)被包含页面,并将执行结果输出到浏览器中,然后返回页面继续执行后面的代码。因为服务器执行的是多个文件,所以jsp编译器会分别对这些文件进行编译。
  3. 在应用include指令包含文件时,由于被包含的文件最终会生成一个文件,所以在被包含文件,包含文件中不能有重名的变量或方法;而在应用<jsp:include>动作标识包含文件时,由于每个文件时单独编译的,所以在被包含文件和包含文件中重名的变量或方法时不想冲突的。

include指令与jsp:include动作标识的区别的更多相关文章

  1. JSP(include指令与<jsp:include>动作的区别)

    <%@ page language= "java" contentType="text/html;charset=UTF-8" %><html ...

  2. include指令和<jsp:include>标准动作

    利用JSP的包含机制,可以有效的避免重复,把可重用的部分独立出去,使用include把它们包含到当前文件.JSP有两种包含机制:include指令和<jsp:include>标准动作. 1 ...

  3. include指令和<jsp:include>动作标识区别:--不明觉厉 先收藏

    <jsp:include> 会通过转发的形式,分别编译被包含的文件,所以不怕重命名:而 include 是将多个被包含的原封不动合并后再一起编译一次,所以不可以重命名. ========= ...

  4. jsp 中 include指令 用法, <%@ include file="..."%> 和 <jsp:include page="..." flush="true" />的区别?

    原文链接https://blog.csdn.net/u012187452/article/details/51779052 1. 什么是jsp 文件? 个人理解.  jsp 是一个容器,可以将我们编写 ...

  5. JSP基本语法--包含指令<%@include file="路径"%> <jsp:include page>

    包含指令,真正改变的地方只有具体内容处: 方法1: 在每个jsp页面(HTML)都包含工具栏,头部信息,尾部信息,具体内容 方法2: 将工具栏,头部信息,尾部信息都分成各个独立的文件,使用的时候直接导 ...

  6. <%@ include file=""%>与<jsp:include page=""/>区别

    jsp页面是把include指令元素(<%@ include file=""%>)所指定的页面的实际内容(也就是代码段)加入到引入它的jsp页面中,合成一个文件后被js ...

  7. <%@ include file="">和<jsp:include file="">区别

    <%@include file="a.jsp"%>是在编译时加入,所谓静态,就是在编译的时候将jsp的代码加入进来再编译,之后运行. <jsp:include p ...

  8. <%@ include file=""%>与<jsp:include page=""/>区别(转)

    http://www.iteye.com/topic/312500/ 我们都知道在jsp中include有两种形式,分别是Include指令:<%@ include file="&qu ...

  9. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

随机推荐

  1. QT实现两条贪吃蛇

    Snake.pro文件 1 #------------------------------------------------- 2 # 3 # Project created by QtCreato ...

  2. 如何在含有json类型的字段上建立多列索引

    废话不多,直接上图 如 : 表结构如图           那么我想在这三个字段上建立一个唯一索引,目的是为了防止重复插入数据, 1.首先,说明一下 data中的json中,key为 tagID 和 ...

  3. 什么是实体关系图(ERD)? 转

    https://www.visual-paradigm.com/cn/guide/data-modeling/what-is-entity-relationship-diagram/#erd-data ...

  4. 使用RevitNet操作多个版本的Revit

    在Revit二次开发中,如果只是简单的从模型中提取数据或不需要界面对Revit进行修改,我们一般使用RevitNet. 如果对RevitNet不熟悉的,请参考:RevitAPI进阶之独立进程内读取.写 ...

  5. springboot和Redis整合

    springboot简化了许多的配置,大大提高了使用效率.下面介绍一下和Redis整合的一些注意事项. 首先介绍单机版的redis整合. 1.第一步当然是导入依赖 <dependency> ...

  6. python链接sql server 乱码问题

    import pymssql import sys import os reload(sys) sys.setdefaultencoding('utf-8') os.environ['NLS_LANG ...

  7. contos 6.6下安装lamp

    安装篇 第一步:配置防火墙(默认情况下,端口80和3306是拒绝访问的,在防火墙上进行配置): vi /etc/sysconfig/iptables(在"COMMIT"的上一行加上 ...

  8. python3 matplotlib

    一.matplotlib数据可视化 1.https://matplotlib.org/ 2.figure图形窗口:figsize窗口大小,label轴标签:title标题:lim限制:plot绘图:s ...

  9. css实现背景全透明样式

    background-color:transparent; filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFF ...

  10. B-Tree目录和Hash索引的区别

    Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-T ...