在JSP中include有两种形式,分别是
<%@ include file=” ”%>
<jsp:include page=” ” flush=”true”/>
前者是指令元素,后者是动作元素
以下是对include 两种用法的区别,主要有两个方面的不同:
1.执行时间上:
<%@ include file=”relativeURI”%> 是在翻译阶段执行
<jsp:include page=”relativeURI” flush=”true” /> 在请求处理阶段执行.
2.引入内容的不同:
<%@ include file=”relativeURI”%>引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起.
<jsp:include page=”relativeURI” flush=”true” />引入执行页面或servlet所生成的应答文本.
例如:
jsp编译生成的servlet可以在apache-tomcat-6.0.32\work\Catalina\工程名 下查看
在a.jsp中
<%@include file="../include/header.jsp"%>
的jsp编译阶段会把 header.jsp 与a.jsp翻译成一个servlet ,即a_jsp.java
在 a的service方法中的输出中包含 header.jsp中的内容
在b.jsp中:
<jsp:include page="../include/footer.jsp"/>
的jsp编译阶段会把 b.jsp 与footer.jsp翻译成一个两个servlet ,即b_jsp.java,footer_jsp.java
在 b的service方法中的输出中包含 包含footer_jsp.java的引用 如:
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "../include/footer.jsp" +
<%@ include file=” ”%>
<jsp:include page=” ” flush=”true”/>
前者是指令元素,后者是动作元素
以下是对include 两种用法的区别,主要有两个方面的不同:
1.执行时间上:
<%@ include file=”relativeURI”%> 是在翻译阶段执行
<jsp:include page=”relativeURI” flush=”true” /> 在请求处理阶段执行.
2.引入内容的不同:
<%@ include file=”relativeURI”%>引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起.
<jsp:include page=”relativeURI” flush=”true” />引入执行页面或servlet所生成的应答文本.
例如:
jsp编译生成的servlet可以在apache-tomcat-6.0.32\work\Catalina\工程名 下查看
在a.jsp中
<%@include file="../include/header.jsp"%>
的jsp编译阶段会把 header.jsp 与a.jsp翻译成一个servlet ,即a_jsp.java
在 a的service方法中的输出中包含 header.jsp中的内容
在b.jsp中:
<jsp:include page="../include/footer.jsp"/>
的jsp编译阶段会把 b.jsp 与footer.jsp翻译成一个两个servlet ,即b_jsp.java,footer_jsp.java
在 b的service方法中的输出中包含 包含footer_jsp.java的引用 如:
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "../include/footer.jsp" +