jsp中include指令和include动做的区别

include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改,不然视为已被修改。因为被包含的文件是在编译时才插入的,所以若是只修改了include文件内容,而没有对JSP修改,获得的结构将不会改变,因此直接执行已经存在的字节码文件,而没有从新编译。所以对不常常变化的内容,用include指令是合适的,若是须要的内容是常常变化的,则须要动做元素<jsp:include>.下面将详细区分他们之间的不一样

1.include指令
    include能够在JSP页面转换成Servlet以前,将JSP代码插入其中。它的主要优势是功能强大,所包含的代码能够含有整体上影响主页面的JSP构造,好比属性、方法的定义和文档类型的设定。它的缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是由于主页面不会自动地查看被包含的页面是否发生更改。服务器

语法:<%@ include file="sample.jsp" %>jsp

2.include动做
    jsp:include动做是在主页面被请求时,将次级页面的输出包含进来。尽管被包含的页面的输出中不能含有JSP,但这些页面能够是其余资源所产生的 结果。服务器按照正常的方式对指向被包含资源的URL进行解释,于是这个URL能够是Servlet或JSP页面。服务器以一般的方式运行被包含的页面, 将产生的输出放到主页面中,这种方式与RequestDispatcher类的include方法一致。它的优势是在被包含的页面发生更改时,无须对主页 面作出修改。它的缺点是所包含的是次级页面的输出,而非次级页面的实际代码,因此在被包含的页面中不能使用任何有可能在总体上影响主页面的JSP构造。spa

语法: <jsp:include page="sample.jsp" flush="true"> <jsp:param name="name" value="value"/> </jsp:include> 资源

   其中参数设置能够没有,若是没有参数设置,则必须采用<jsp:include page="sample.jsp" flush="true"/>形式文档

相关文章
相关标签/搜索