知识大全 JSP中include指令和include动作区别详解

Posted 文件

篇首语:丈夫清万里,谁能扫一室?本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JSP中include指令和include动作区别详解相关的知识,希望对你有一定的参考价值。

JSP中include指令和include动作区别详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  

  我们都知道在JSP中include有两种形式 分别是

  <%@ include file= %>

  <jsp:include page= flush= true />

  前者是指令元素 后者是动作元素 具体它们将在何处用?如何用及它们有什么区别?这应该是很多人看到它都会想到的问题 下面一起来看看吧

  通常当应用程序中所有的页面的某些部分(例如标题 页脚和导航栏)都相同的时候 我们就可以考虑用include 具体在哪些时候 用<%@ include file= %> 哪些时候用< jsp:include page= flush= true /> 这种形式 首先要明白的是它们之间的区别 只有了解了它们用法的不同才 理解该在何时去用以及如何选择

  <%@ include file= %> jsp的include指令元素读入指定页面的内容 并把这些内容和原来的页面融合到一起 (这个过程是在翻译阶段:也就是jsp被转化成servlet的阶段进行的

  这里对翻译阶段进行一下说明:我们知道 jsp页面不能原封不动地被传送给浏览器 所有的jsp元素都必须首先由服务器进行处理 这是通过将jsp页面转达化成servlet 然后执行这个servlet来完成的 服务器需要一个jsp容器来处理jsp页面 jsp容器通常以servlet的形式来实现 这个servlet经过配置 可以处理对jsp页面的所有请求

  Jsp容器负责将jsp页面转化成servlet(称为jsp页面实现类?JSP Page implementation class) 并编译这个servlet 这两步就构成了翻译阶段

  由此我们就会知道 jsp页面是把include指令元素所指定的页面的实际内容(也就是代码段)加入到引入它的jsp页面中 合成一个文件后被jsp容器将它转化成servlet 可以看到这时会产生一个临时class文件和一个java文件 下面举个例子

  服务器用tomcat 引入页面的jsp文件叫test jsp 被引入的页面叫date jsp 这个jsp文件里存放的是一个有关时间的jsp代码 当前的上下文根设为test

  date jsp的源文件

  <%@ page language= java contentType= text/;charset=gb %><%java util Date date=new java util Date();String date_cn = ;String dateStr = ;switch(date getDay())case :date_cn = 日 ; break;case :date_cn = 一 ; break;case :date_cn = 二 ; break;case :date_cn = 三 ; break;case :date_cn = 四 ; break;case :date_cn = 五 ; break;case :date_cn = 六 ; break;dateStr = ( +date getYear()) + 年 + (date getMonth()+ ) + 月 + date getDate() + 日(星期 + date_cn + ) ;%>document write( <%=dateStr%> );

  以下是test jsp的源文件

  

  <%@ page language= java contentType= text/;charset=gb %> <> <head> <title>include的两种用法</title> <jsp:include page= date jsp flush= true /> <% @ include file= date jsp % > //我们在这里用include的两种不同形式来引入date jsp这个文件 <head> <body> <table><tr><td> 有关jsp中include的两种用法 敬请关注 </td></tr></table> </body> </>

  在test jsp 文件中 我们只输出了一行文本 有关jsp中include的两种用法 敬请关注 现在让我们先 用<%@ include file= date jsp %>这种形式引入date jsp这个文件 你想会出现什么问题了吗?此时出现 了错误提示

  

cha138/Article/program/Java/hx/201311/26198

相关参考

知识大全 关于include标签导致js路径找不到的问题分析及解决

  关于使用jsp:include标签及<%@include标签时要注意的事项先回忆一下二者的区别(对于此篇文章而言二者在用法上没有区别)jsp:include是先编译一下includedjsp

知识大全 实测在class的function中include的文件中非php的global全局环境

正如标题所言经测试的结果为在class中include后被include文件变量域已经变成func中了非全局但是可以通过global提升感兴趣的朋友可以参考下哈希望对大家有所帮助   测试代

知识大全 请离开include

尽量使用include而不是include_once理由是include_once需要查询一遍已加载的文件列表确认是否存在然后再加载   诚然这个理由是对的不过我今天要说的是另外一个的原因我

知识大全 asp.net 里include UTF8 垃圾问题

asp.net里includeUTF8垃圾问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  很

知识大全 找出错误,并说明原因 #include main() int*p=&a,a; printf("input a:"); scanf("%d %d",a);

找出错误,并说明原因#includemain()int*p=&a,a;printf("inputa:");scanf("%d%d",a);  以下文字资料是由(本站网www.lis

知识大全 jsp Servlet中脚本元素、指令和预定义变量解析

jspServlet中脚本元素、指令和预定义变量解析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 二叉树的操作

二叉树的操作#include<stdlibh>#include<stdioh>#definequeuesize#definenulltypedefchardatatype;ty

知识大全 #include main()int a,b,t; scanf("%d,%d",&a,&b); if(a>b)a=b,b=a; printf("%d,%d/n",a,b);

#includemain()inta,b,t;scanf("%d,%d",&a,&b);if(a>b)a=b,b=a;printf("%d,%d/n",a,b);  以下文字资料是

知识大全 有限期作业排序和判断无向图的关节点算法设计源代码

  //判断无向图的关节点  #include  #include  #defineVnum  typedefstructarcnode    intadjvex;  structarcnode*ne

知识大全 用栈实现二叉树先序遍历的非递归算法实践题

  /*syc*/  #include  #include  typedefcharDataType;  typedefstructnode  DataTypedata;  structnode*lc