jsp:include page="" 和 include file="" 的区别

下面用三个实验,更清淅的理解 <jsp:include page=""/> 和 <%@ include file="" %> 的区别。
<jsp:include page=""/> 包含被 include 文件的输出
<%@ include file="" %> 包含被 include 文件的代码

a.jsp 内容:

<jsp:include page="b.jsp" />

b.jsp 内容:(空)

_a.class a.jsp编译成类的内容:

_jspService() { JspWriter jspwriter = pagecontext.getOut(); // 把b.jsp的内容输出到_a.class的jspwriter JspRuntimeLibrary.include(httpservletrequest, httpservletresponse, "b.jsp", jspwriter, false); }

-------------------------------------------------------------------------------------

a.jsp 内容:

<%@ include file = "b.jsp" %>

b.jsp 内容:

abcd

_a.class a.jsp编译成类的内容

// b.jsp中"abcd"字符串作为_a.class的成员变量 private static final char _jsp_string1[]= "abcd".toCharArray(); _jspService() { JspWriter jspwriter = pagecontext.getOut(); jspwriter.write(_jsp_string1); }

-------------------------------------------------------------------------------------

a.jsp 内容:

<%@ include file = "b.jsp" %>

b.jsp 内容:

<% out.println("efg"); %>

_a.class a.jsp编译成类的内容

_jspService() { jspwriter.println("efg"); }

以上是在用 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 文件的何处,分别起什么作用。

你可能感兴趣的:(jsp,String,File,application,include,websphere)