`

静态和动态的include

 
阅读更多

对于java在开发中公共的部分最好封装到相应的类中,便于重复使用;

对于javascript也同样最好把公共部分封装到js文件中(如果jsp页面中存在大量的javascript脚本,最好把它放到js文件中);

对于jsp文件中如果需要采用公共的页面或jsp投中经常引用相同的内容(例如:每个页面都需要import大量相同的类库)可以把这些内容放到单独的jsp页面中,在每个页面中可以采用include指令将公共的jsp页面引入。

 

 

静态include主要是对静态页面的引入,不会检查所包含文件的变化

<% @ include file="include.html" %>

静态时不能传参数。

如以下是不正确的,会报错:找不到文件

<%@ include  file="/controlCenter/jspCodeControl.jsp?jspCodeFrameId=1&jspFileWithPath=/moduleOne/moduleOneTemp.jsp'"%>

 

 

动态include主要是对动态页面的引入,它总是会检查所引入的页面的变化,如果所包含的资源在请求间发生变化

,则下一次请求包含<jsp:include>动作的jsp时,将包含资源的新内容。

另一方面,include指令在转换时一次性地将内容复制到jsp中,如果所包含的资源发生变化,则使用include指令的jsp将不能反应出新的内容,除非重新编译该jsp。

<jsp:include>动作包含的属性:

page:指定所包含资源的相对url路径,该资源必须时同一web应用程序的组成部分。

flush:指定在执行include动作后是否应刷新缓冲区,在jsp1.1中,该属性必须设置为真。

使用动态include动作时,根据jsp1.1规范,jsp容器允许判断通过include指令包含的资源是否发生变化。如果发生变化。则容器可以重新编译包含该资源的jsp,然而,该规范并没有提供向容器表明某个包含的资源发生变化的机制。

动态include的优点和不足:

优点:

1:引入和同步一个动态的页面,使jsp页面更具灵活性

2:能和不同页面之间进行信息的交互和快捷的实现方式。

3:改变了原始的所有页面编码都放在一个jsp上,使不同的功能分别写在不同页里,通过动态include方式引用到页面,更易于编码,更易于管理。

不足:

动态的引入时需要频繁的变化和页面信息的更新和交互,要占用大量的资源开销。降低页面的访问速度。如果在没必要动态引入的情况下,不要使用动态include

应该注意事项:

1:<jsp:include>动作的flush属性必须要定义,不定义会出现转换错误。而且设置的flush必须要为true

2:在<jsp:include>动作中指定的页面必须是同一web应用程序的一部分。如果引入的是非同一web应用的页面将导致请求时错误。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics