您的位置:首页 > 产品设计 > UI/UE

<%@ include file=” ”%> 和<jsp:include page=” ” flush=”true”/> 区别

2016-04-02 15:51 573 查看
①:前者是指令元素、是静态包含,可以包含任何内容。后者是行为元素 丶<jsp:include

/> 是动态包含比如:<%@include
%> 是静态包含,可以包含任何内容。
例如在A.jsp中 <%@ include file="a.txt" %> ,先把 a.txt 中的内容原封不动的包含到A.jsp 中,相当于一个生成一个新的jsp 再交给Servlet 容器(Tomcat)编译。
<jsp:include

/> 是动态包含,例如在B.jsp
中<jsp:include

path="c.jsp"/>
,Servlet容器将会先 编译c.jsp ,把c.jsp 的结果包含到B.jsp 中,然后再一起编译 B.jsp 。②:通常当应用程序中所有的页面的某些部分(例如标题、页脚和导航栏)都相同的时候,我们就可以考虑用include。具体在哪些时候用<%@
include file=” ”%>,哪些时候用<jsp:include page=” ” flush=”true”/>.这种形式。首先要明白的是它们之间的区别。只有了解了它们用法的不同才理解该在何时去用以及如何选择。
<%@
include file=” ”%>,jsp的include指令元素读入指定页面的内容。并把这些内容和原来的页面融合到一起。(这个过程是在翻译阶段:也就是jsp被转化成servlet的阶段进行的。)
③:执行时间:<%@
include file=”relativeURI”%> 是在翻译阶段执行 <jsp:include

page=”relativeURI”

flush=”true”

/> 在请求处理阶段执行. ④:引入内容:<%@
include file=”relativeURI”%> 引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起.
<jsp:include

page=”relativeURI”

flush=”true”

/>引入执行页面或servlet所生成的应答文本. ***最后:个人理解是<%@
include file=” ”%>把内容不先放进去,编译时候再加上,感觉是提高了代码的重用性,而<jsp:include page=” ” flush=”true”/> 就是**独立**请求加载的,不会和外部再一起编译。***ps:两种用法中file和page属性都被解释为一个相对的URI.如果它以斜杠开头,那么它就是一个环境相关的路径.将根据赋给应用程序的URI的前缀进行解释,如果它不是以斜杠开头,那么就是页面相关的路径,就根据引入这个文件的页面所在的路径进行解释.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: