玩转Web之Jsp(一)-----jsp中的静态包含(<%@include file="url"%>)与动态包含(<jsp:include>)

来源:互联网 发布:长相土气的女明星知乎 编辑:程序博客网 时间:2024/05/29 18:26

    在jsp中include有两种形式,其中<%@include file="url"%>是指令元素,<jsp:include page="" flush="true"/>是动作元素
   
    <%@include file="url"%>包含一个静态文件,而<jsp:include page="" flush="true"/>包含一个静态或动态文件
   
     <%@include file="url"%>不会检查文件的变化,适合包含一个静态文件,被包含的文件可以是html,jsp,文本文档,如果是html,文本文档,文件内容将会添加到jsp文件中<%@include file="url"%>的位置上;如果包含一个jsp文件,这个jsp文件将会被执行,将结果添加到<%@include file="url"%>的位置,但其变量无法使用。

   <jsp:include page="" flush="true"/>总会检查文件中所发生的变化,适合包含动态页面,所以既可以用它包含静态文件,也可以用它包含动态文件,当包含动态文件时,flush的值必须为true,表示页面可以刷新。如果被包含的是jsp页面,还可以向被包含页传递参数,例如
  <jsp:include page="demo2.jsp" flush="true">   
     <jsp:param name="name1" value="AAA"/>
     <jsp:param name="name2" value="BBB"/>
  </jsp:include>
   demo2.jsp为被包含页面。

   <%@include file="url"%>是先包含再编译,只会产生一个class文件,;<jsp:include page="" flush="true"/>是先编译再包含,会产生多个class文件。

   值得注意的是,不管被包含的是动态文件还是静态文件,被包含的文件都不应该出现<html><body>标签,这样会影响原jsp文件中的对应标记,有时还会出错。

0 0