jsp_include和@include的区别

来源:互联网 发布:阿里云国际版 编辑:程序博客网 时间:2024/06/05 06:11
jsp:include(动态包含)和@include(静态包含)的区别:


<jsp:include page="relative URL" flush="true" />


    page 包含在页面中的相对URL地址。
    flush 布尔属性,定义在包含资源前是否刷新缓存区。



1.jsp:include通过page属性包含文件  @include通过file属性包含文件


2.jsp:include 是在请求阶段向被包含的页面发起了一个请求,
  页面响应的内容被包含到了当前页面
  @include 是直接将被包含文件的内容替换到了当前页面,如果当前页面和被包含页面出现相同的变量定义,会出现编译异常
  
3.jsp:include 转译成两个java文件,@include转译成一个java文件


4.jsp:include 可以通过jps:parm传递参数,@include则不能


<jsp:include page="header.jsp">
<jsp:param value="阳光总在风云后" name="test"/>
</jsp:include>


定义了两个文件date.jsp和main.jsp,代码如下所示:
        date.jsp文件代码:
         <p>当前日期: <%= (new                                     java.util.Date()).toLocaleString()%></p>
        main.jsp文件代码:
       <html><head><title>The include Action Example</title></head>
       <body><center>
       <h2>The include action Example</h2>
       <jsp:include page="date.jsp" flush="true" />
       </center></body></html>
现在将以上两个文件放在服务器的根目录下,访问main.jsp文件。显示结果如下:
当前日期: 12-Sep-2015 15:54:22