jsp:include page="" 和 include file="" 的区别
下面用三个实验,更清淅的理解 <jsp:include page=""/> 和 <%@ include file="" %> 的区别。
<jsp:include page=""/> 包含被 include 文件的输出
<%@ include file="" %> 包含被 include 文件的代码
a.jsp 内容:
1<jsp:include page="b.jsp" />b.jsp 内容:(空)
_a.class a.jsp编译成类的内容:
1_jspService() {
2 JspWriter jspwriter = pagecontext.getOut();
3
4 // 把b.jsp的内容输出到_a.class的jspwriter
5 JspRuntimeLibrary.include(httpservletrequest, httpservletresponse, "b.jsp", jspwriter, false);
6}-------------------------------------------------------------------------------------
a.jsp 内容:
1<%@ include file = "b.jsp" %>b.jsp 内容:
1abcd_a.class a.jsp编译成类的内容
1// b.jsp中"abcd"字符串作为_a.class的成员变量
2private static final char _jsp_string1[]= "abcd".toCharArray();
3_jspService() {
4 JspWriter jspwriter = pagecontext.getOut();
5 jspwriter.write(_jsp_string1);
6}-------------------------------------------------------------------------------------
a.jsp 内容:
1<%@ include file = "b.jsp" %>b.jsp 内容:
1<% out.println("efg"); %>_a.class a.jsp编译成类的内容
1_jspService() {
2 jspwriter.println( " efg " );
3}以上是在用 WebSphere Application Server 6.1 编译生成的代码反编译出来的 _a.class。
接下来要看看 jsp 指令,如:
<%@page contentType="text/html; charset=UTF-8" %>
<%@page autoFlush="false" %>
<%@page buffer="20kb" %>
<%@page isThreadSafe="true" %>
<%@page errorPage="" %>
<%@page extends="" %>
....................
会体现在生成的 class 文件的何处,分别起什么作用。 永久链接 https://yanbin.blog/jsp-include-page-include-file/, 来自 隔叶黄莺 Yanbin's Blog
[版权声明]
本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。