http://blog.e23.cn/?uid-1255655-action-viewspace-itemid-134232html
1.include:java
Include 指令: <%@ include file="filename" %>web
Include 動做: <jsp:include page="page.jsp" flush="true" /> express
<%@include %>指令將會在JSP編譯時插入一個包含文本或代碼的文件,當你使用<%@ include %>指命時,這個包含的過程就當是靜態的。靜態的包含就是指這個被包含的文件將會被插入到JSP文件中去,這個包含的文件能夠是JSP文件,HTML文件,文本文件。若是包含的是JSP文件,這個包含的JSP的文件中代碼將會被執行。
若是你僅僅只是用include 來包含一個靜態文件。那麼這個包含的文件所執行的結果將會插入到JSP文件中放<% @ include %>的地方。一旦包含文件被執行,那麼主JSP文件的過程將會被恢復,繼續執行下一行這個被包含文件能夠是html文件,jsp文件,文本文件,或者只是一段Java代碼,可是你得注意在這個包含文件中不能使用<html>,</html>,<body>,</body>標記,由於這將會影響在原JSP文件中一樣的標記 ,這樣作有時會致使錯誤.編程
例子 include.jsp:)
<html> <head><title>An Include Test</title></head> <body bgcolor="white"> <font color="blue"> The current date and time are <%@ include file="date.jsp" %> </font> </body> </html>
瀏覽器
date.jsp:
<%@ page import="java.util.*" %> <%= (new java.util.Date() ).toLocaleString() %> session
Displays in the page:多線程
The current date and time are jsp
Aug 30, 1999 2:38:40 ui
2.<jsp:include>
包含一個靜態或動態文件:
<jsp:include page="{relativeURL | <%= expression%>}" flush="true" />
<jsp:include page="{relativeURL | <%= expression %>}" flush="true" >
<jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />
</jsp:include>
Examples
<jsp:include page="scripts/login.jsp" />
<jsp:include page="copyright.html" />
<jsp:include page="/index.html" />
<jsp:include page="scripts/login.jsp">
<jsp:param name="username" value="jsmith" />
</jsp:include>
<jsp:include>元素容許你包含動態文件和靜態,這兩種包含文件的結果是不一樣的。若是文件僅是靜態文件,那麼這種包含僅僅是把包含文件的內容加到jsp文件中去,而若是這個文件動態的,那麼這個被包含文件也會被Jsp編譯器執行
若是這個包含文件是動態的,那麼你還能夠用<jsp:param>傳遞參數名和參數值
屬性:
page="{relativeURL | <%= expression %>}"參數爲一相對路徑,或者是表明相對路徑的表達式.
總結:
3.Page 指令:
例子:
<%@ page import="java.util.*, java.lang.*" %>
<%@ page buffer="5kb" autoFlush="false" %>
<%@ page errorPage="error.jsp" %>
<%@ page %>指令做用於整個JSP頁面,一樣包括靜態的包含文件。可是<% @ page %>指令不能做用於動態的包含文件,好比 <jsp:include>
不管你把<% @ page %>指令放在JSP的文件的哪一個地方,它的做用範圍都是整個JSP頁面。不過,爲了JSP程序的可讀性,以及好的編程習慣,最好仍是把它放在JSP文件的頂部.
屬性:
language="java"
聲明腳本語言的種類,暫時只能用"java"
extends="package.class"
標明JSP編譯時須要加入的Java Class的全名,可是得慎重的使用它,它會限制JSP的編譯能力. import="{package.class | package.* }, ..."
須要導入的Java包的列表,這些包就做用於程序段,表達式,以及聲明
session="true | false"
設定客戶是否須要HTTP Session.(學過ASP的人,應該對它不陌生)若是它爲true,那麼Session是有用的。
若是它有false,那麼你就不能使用session對象,以及定義了scope=session的<jsp:useBean>元素。這樣的使用會致使錯誤.
缺省值是true.
buffer="none | 8kb | sizekb"
buffer的大小被out對象用於處理執行後的JSP對客戶瀏覽器的輸出。缺省值是8kb
autoFlush="true | false"
設置若是buffer溢出,是否須要強制輸出,若是其值被定義爲true(缺省值),輸出正常,若是它被設置爲false,若是這個buffer溢出,就會致使一個意外錯誤的發生.若是你把buffer設置爲none,那麼你就不能把autoFlush設置爲false. isThreadSafe="true | false"
設置Jsp文件是否能多線程使用。缺省值是true,也就是說,JSP可以同時處理多個用戶的請求,若是設置爲false,一個jsp只能一次處理一個請求
info="text"
一個文本在執行JSP將會被逐字加入JSP中,你可以使用Servlet.getServletInfo方法取回。errorPage="relativeURL"
設置處理異常事件的JSP文件。
isErrorPage="true | false"
設置此頁是否爲出錯頁,若是被設置爲true,你就能使用exception對象.
contentType="mimeType [ ;charset=characterSet ]" | "text/html;charset=ISO-8859-1"
設置MIME類型 。缺省MIME 類型是: text/html, 缺省字符集爲 ISO-8859-1.