JSP(七)JSP指令与动作元素

第七节 JSP指令与动作元素

- include指令

常用的有page、include、taglib指令这三种指令;

page:位于页面顶端,一个页面可以包含多个page指令

include:将一个外部文件嵌入jsp中,同时解析这个页面中的jsp语句。

taglib:使用标签库,自定义新的标签,在jsp中启动定制行为。

 

include指令

语法 <% include file="地址"%>。

案例:显示当前时间的页面。(1)写一个只输出时间的方法的date.jsp。(2)用于显示的页面,包含<% include file="date.jsp"%>

-include动作

语法<jsp:include page="url">

flush="true"表示使用缓冲。

JSP:include的flush属性的作用JSP 中include 另一个文件时有个很偏的属性,叫flush,默认为 false。在同一个 JSP 中,如果不断 include 自己(源文件),在逻辑上会形成死循环。而当把flush 属性赋为真值时,在缓存累积了一定数据时,服务器会先提供一部分数据给浏览器,并等待后续内容。由此可以得出结论,在简单页面中,该属性不纳入考虑,而在页面包含大量数据时,为缩短客户端延迟,可将一部分内容先行输出。

面试常考

include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中‘因此如果只修改了include文件内容,而没有对JSP修改,得到的结构将不会改变,所以直接执行已经存在的字节码文件,而没有重新编译。因此对不经常变化的内容,用include指令是合适的,如果需要的内容是经常变化的,则需要动作元素<jsp:include>.

include指令的主要优点是功能强大,所包含的代码可以含有总体上影响主页面的JSP构造,比如属性、方法的定义和文档类型的设定。它的缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为主页面不会自动地查看被包含的页面是否发生更改。

仅当include动作不能满足要求时,我们才应该使用include指令。

include动作在维护上的优势十分巨大,当两种方法都可以使用时,include动作几乎肯定是首选的方法。

对于文件包含,应该尽可能地使用include动作。仅在所包含的文件中定义了主页面要用到的字段或方法,或所包含的文件设置了主页面的响应报头时,才应该使用include指令。

因为include指令更为强大。include指令允许所包含的文件中含有影响主页面的Jsp代码,比如响应报头的设置和字段、方法的定义。

例子://subpage.jsp

<%! int num=0; %>

//mainpage.jsp

<html>

<body>

<%@ include file="subpage.jsp" %>

<%= num %>

</body>

</html>

当然使用include动作时这是不可能的,因为num变量未定义,主页面不能成功的转换成servlet。

猜你喜欢

转载自blog.csdn.net/RayMa0305/article/details/81604323
今日推荐