JSP檔案元素
來源:互聯網
上載者:User
js 1. 模板元素
a. 指靜態HTML/XML內容
2. 注釋
n HTML注釋:在用戶端顯示注釋 <!--comment[<%=expression%>]-->
n 隱藏注釋:寫在JSP程式中,但不發給客戶 <%--commnet--%>
3. 指令碼元素
a. 聲明(Declaration)
n 聲明就是在JSP程式中聲明合法變數和方法
eg.1-1
<%!String getDate()
{
return new java.util.Date().toLocaleString();
}
int count=10;
%>
b. 運算式(Expression)
n 運算式就是<%=和%>之間的代碼。
c. Scriptlets
n 位於<%和%>之間。是合法的Java代碼。
4. 指令元素
a.頁面指令
n 格式<%page attribute=”value”…%>
屬性
描述
預設值
例子
language
定義要使用的指令碼語言,目前只能是”Java”
Java
language=”java”
import
和一般的Java import一樣,用”,”隔開包或者類列表
預設忽略
import=”java.io.*,javax.servlet.jsp.*”
session
指定一個Http會話中這個頁面是否參與
True
session=”true”
buffer
指定到客戶輸出資料流的緩衝模式,如果是none,則不緩衝,如果指定數值,那麼輸出就不小於這個值的緩衝區進行緩衝
不小於8K,根據不同的伺服器可設定
Buffer=”64kb”
autoFlash
true緩衝區滿時,到用戶端輸出被重新整理;false緩衝區滿時,出現運行異常,表示緩衝溢出
true
autoFlash=”true”
info
關於JSP頁面的資訊,定義一個字串,可以使用servlet.getServletInfo()獲得
預設忽略
info=”一個測試頁面”
isErrorPage
表明當前頁面是否為其他頁面的errorPage目標。如果被設定為true,則可以使用exception對象。相反,如果被設定為false,則不可以使用exception對象。
false
isErrorPage=”false”
errorPage
定義此頁面出現異常時調用的頁面
預設忽略
errorPage=”error/error.jsp”
isThreadSafe
用來設定JSP檔案是否能多線程使用。如果設定為true,那麼一個JSP能夠同時處理多個使用者的請求;相反只能處理一個使用者。
true
isTreadSage=”true”
contentTpye
定義JSP字元編碼和頁面響應的MIME類型。
TYPE=text/html
CHARSET=iso8859-1
contectType=”text/html; charset=gb2312”
pageEncoding
JSP頁面的字元編碼
PageEncoding=
”ISO-8859-1”
pageEncoding=”gb2312”
IsELIgnored
制定EL(運算式語言)是否被忽略,如果為true,則容器忽略”${}”運算式的計算
預設值由web.xml描述檔案的版本確定,Servlet2.3以前的版本將忽略
isELIgnored=”true”
b. include 指令
n 用來插入一個包含文本或代碼的檔案,這個包含過程是靜態。
n 格式:<%@ include file=”filename”%>
c. taglib 指令
n 這個指令允許頁面使用者自訂標籤。這裡內容不明白,放在後面研究
d. 運算式語言
n JSP2.0新加的技術,可以簡化JSP開發,使用”${}”來表示
n ${sessionScipe.test}相當於Session.getAttribute(“test”)
具體內容不清楚,放在後面研究
5. 動作元素
動作元素在請求處理階段起作用。容器在處理JSP時,每遇到這種動作元素,都根據他的標記進行特殊的處理
常用動作元素
a. <jsp:param>
n 用來為其他標籤提供附加資訊。
n 使用方法:<jsp:param name=”paramName” value=”paramValue”/>
b. <jsp:include>
n 允許在請求時間內在現成的JSP頁面裡包含靜態或動態資源。被包含的對象只有對JspWriter對象的存取權限,並且不能設定頭或者Cookie。如果頁面輸出的是緩衝的,那麼緩衝區的重新整理要優於包含的重新整理。
n 格式:
<jsp:include page=”fileName” flush=”true”/>(這裡flush只能使用true)
<jsp:include page=”fileName” flush=”true”>
<jsp:param name=”paramName” value=”paramValue”/>
</jsp:include>
c. <jsp:forward>
n 允許將請求轉寄到另外一個JSP、Servlet或者靜態資源檔案。
n 格式
<jsp:forword page=”uri”/>(page為一個值或者一個字串,定向一個檔案或URL)
<jsp:forword page=”uri”>
<jsp:param name=”paramName” value=”paramValue”/>
</jsp:forword>
d. <jsp:setProperty>
n <jsp:setProperty>和useBean一起協作,用來設定Bena的簡單屬性和索引屬性。
n <jsp:setProperty name=”beanName” propertyDetails/>
n 其中propertyDatails有四種不同的方式:
1. property=”*”
2. Property=”propertyName” param=parameteraName
3. Property=”propertyName”
4. Property=”propertyName” value=propertyValue
註:不能在一個<jsp:setProperty>中同時使用param和value。
e. <jsp:getPorperty>
n 對<jsp:setProperty>操作的補充,用來訪問一個Bean的屬性。它訪問的屬性值將它轉化成一個String,然後發送到輸出資料流中。如果屬性是個對象,將調用toString()方法。
n 使用方法:
1.<jsp:getProperty name=”beanName” property=”propertyName”/>
eg:
<jsp:useBean id=”usersession” scope=”session” class=”com.user.UserSession”>
<jsp:getProperty name=”usersession” property=”name”/>
<jsp:getPorperty name=”usersession” property=” password”/>
n 限制:不能使用<jsp:getPropety>來檢查一個已經被索引了的屬性。這個地方不理解
f. <jsp:useBean>
n 用來在JSP頁面中建立一個Bean執行個體,並且指定他的名字及其作用範圍。
n 文法:
<jsp:useBean id=”id” scope=”page|requestsession|application” typeSpec/>
n typeSpec可以使用以下四種:
1. class=”className”
2. class=”className” type=”typeName”
3. beanName=”beanName” type=”typeName”
4. type=”typeName”
g. <jsp:plugin>以後補充
h. <jsp:fallback>以後補充