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. Sublime Text 开发神器相关 插件安装 功能介绍

    无法安装更多见http://blog.csdn.net/freshlover/article/details/44261229/ Sublime Text 3 安装插件管理 Package Contr ...

  2. 如何解决js地址栏中传递中文乱码的问题

    目标要求: 实现从A页面跳转至B页面,B页面接收A页面通过地址栏传递过来的中文参数,中文不能出现乱码. A页面部分代码(传递参数): var title = "这是中文"; var ...

  3. 1 vue 关键字解释

    1 每一个计算属性都包含一个getter和一个setter,计算属性可以依赖其他计算属性,计算属性可以依赖当前vue实例的数据也可以依赖其他vue实例的数据 2 计算属性是基于它的依赖缓存的,方法则是 ...

  4. openssh升级

    转载:(感谢作者) centos7 升级openssh到openssh-8.0p1版本 https://www.cnblogs.com/nmap/p/10779658.html centos 7 op ...

  5. MUI顶部导航布局

    一.头部 核心css mui-bar mui-bar-nav <header class="mui-bar mui-bar-nav"> <a class=&quo ...

  6. PowerBulider获取计算机mac地址

    PowerBulider获取计算机mac地址 1.下载GETNET.DLL获取网络资源的API 2.PB的全局函数中的引入需要API,常用API列表如下 //得到计算机名字 function bool ...

  7. SVN将项目代码加入svn版本控制

    将已有项目代码加入svn版本控制 - TortoiseSVN入门篇Windows下SVN实用教程(以TortoiseSVN作为客户端(client)) 翻译: Bravo Young Next: 版本 ...

  8. 从win到多系统

    相信有不少电脑爱好者喜欢折腾系统,尤其还是一个小白(感觉多系统强的不要不要的,各种崇拜),然后就走上了深渊. 首先,我一开始也是个win系统的忠实用户,没用过其他系统的我几乎不知道其他系统的存在,反正 ...

  9. 若干简单的进程和作业调度的C++模拟程序

    进程调度(时间片轮转,动态优先级,链表形式): #include<cstdio> #include<cstdlib> struct PCB { ]; char state; / ...

  10. Java 基础 - Set接口 及其实现类HashSet/LinkedHashSet/TreeSet

    笔记: /**Set接口 及其实现类 * 公用操作同Collection: * * ①size(),clear()②isEmpty(),③contains(),④add()方法 和remove()方法 ...