知识大全 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_once理由是include_once需要查询一遍已加载的文件列表确认是否存在然后再加载 诚然这个理由是对的不过我今天要说的是另外一个的原因我
知识大全 asp.net 里include UTF8 垃圾问题
asp.net里includeUTF8垃圾问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 很
知识大全 找出错误,并说明原因 #include
找出错误,并说明原因#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
#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