<%@include%>和<jsp:include>区别浅谈

jsp中include有两种方式:

  1.指令元素include:<%@ include file=""%>

  2.动作元素include:<jsp:include page="" fluse="true"/>

这两种方式有啥用?有什么区别?这一切都应该从他们的原理入手分析,下面一个一个分析

一、指令元素include

<%@ include file="文件的相对路径或绝对路径"%>

file属性为要引入文件的相对路径或绝对路径,不支持表达式,也不允许通过?向被引入文件传递参数

工作流程:

 <%@ include file="include.jsp"%>执行时间:翻译过程中执行引入操作(将jsp转换为servlet)。

注意:因为index.jsp中包含<body>元素,所以include.jsp中最好不要包含<body>元素,因为<%@include%>会将include.jsp页面上的所有元素都包含到index.jsp中了。

二、动作元素include

<jsp:include page="被包含文件的路径" flush="true/false">
        <jsp:param name="参数名称" value="参数值"/>
</jsp:include>

page属性为被包含文件的相对路径或绝对路径,支持表达式,可以通过?传递参数。

  flush表示在载入引入文件内容时是否清空缓冲区,对于jsp1.2以下版本需要设置为true,高版本默认false就可以

工作流程:

由于html文件没法翻译成class,所以jsp:include引入html会没做用

 

posted @ 2017-08-22 23:28  暗夜心慌方  阅读(823)  评论(0编辑  收藏  举报