jsp指令表
屬 性 | 描 述 | 默 認 值 | 例 子 |
language |
定義要使用的腳本語言,目前只能是"java" |
"java" | language="java" |
import |
和一般的Java import意義一樣,只 能是","隔開包或者類列表 |
默認忽略(即不引入其 它類或者包) |
import="java.io.*, java.util.Hashtable, javax.servlet.jsp.*, javax.servlet.http.* |
session | 指定一個Http會話中這個頁面是否參與 | true | session="true" |
buffer | 指定到客戶端輸出流的緩衝模式,如果是none,則不緩衝,如果指定一數值,那麼輸出就用不小於這個值的緩衝區進行緩衝 |
不小於8kb,根據不同 的服務器可設置 |
buffer="64kb" |
autoFlush | true緩衝區滿時,到達客戶端輸出被刷新;false緩衝區滿時,出現運行異常,表示緩衝溢出 | true | autoFlush="true" |
info | 關於jsp頁面的信息,定義一個字符串,可以使用servlet.getServletInfo()獲得 | 默認忽略 | info="一個測試頁面" |
isErrorPage | 表示當前頁面是否爲其它頁面的errorPage目標.如果被設置爲true,則可以使用exception對象。相反,如果設置爲false,則不可以使用exception對象 | flase | isErrorPage="false" |
errorPage | 定義此頁面出現異常時調用的頁面 | 默認忽略 | errorPage="error.jsp" |
isThreadSafe | 用來設置jsp文件是否能多線程使用。如果設置爲true,那麼一個jsp能夠同時處理多個用戶的請求;相反,如果設置爲false,一個jsp頁面只能處理一個請求 | true | isThreadSafe="true" |
contentType | 定義jsp字符編碼和頁面相應的MiME類型。TYPE=MIMETYPE;charset=CHARSET | text/html;charset=iso-8859-1 |
contentType="text/html ;charset=gb2312" |
pageEncoding | jsp頁面的字符編碼 | pageEncoding="ISO-8859-1" | pageEncoding="gb2312" |
isELIgnored | 制定EL(表達式語言)是否被忽略,如果爲true,則容器忽略"${}"表達式的計算 | 默認值有web.xml描述文件的版本確定,Servlet2.3以前的版本將忽略 | isELIgnored="true" |
jsp內置對象
對象名 | 對 象 說 明 |
page | jsp網頁本身 |
request | 獲得客戶端的請求,包括從get/post請求傳遞過來的參數 |
session | 與請求相關的會話 |
application | 腳本程序的運行環境 |
pegeContext | 管理網頁屬性 |
out | 傳送相應的輸出流 |
config | 腳本程序配置對象 |
response | 網頁傳回客戶端的反應 |
exception | 處理異常和錯誤 |
jsp的四種取值範圍
對象名 | 對 象 說 明 |
page | 設置到page對象裏面的屬性值,有效範圍只在該jsp頁面本身,通過客戶端跳轉,或服務器端跳轉都會是設置到page對象裏面的屬性值失效 |
request | 設置到request對象裏面的屬性值,有效範圍除了在該jsp頁面本身外,還可以通過在一次服務器跳轉獲得request對象裏面的屬性值,即在瀏覽器地址欄不變的情況下,通過第二次服務器跳轉能使設置到request對象裏面的屬性失效 |
session | 設置到session對象裏面的屬性值,只在一次會話範圍內有效,即在一次瀏覽器爲關閉的狀態下,通過任何跳轉session都有效,當打開第二個瀏覽器時,session失效 |
application | 設置到application對象裏面的屬性值,在一次應用服務器範圍內有效,即在一次爲關閉得到服務器範圍內,可以通過任何跳轉,打開若干個瀏覽器窗口來訪問設置到該application對象裏面的屬性值 |
jsp標籤
jsp 標 籤 名 | 標 籤 的 使 用 |
<jsp:useBean id="userInfo" class="user.User" scope="page"/> | 該標籤作用是實例化一個javaBean對象,id代表被實例化的一個javaBean對象的名字,class代表該javaBean的類型,即所在的具體位置,scope代表被實例化的這個javaBean對象的作用域 |
<jsp:setProperty property="userName" name="userInfo" param="user"/> |
該標籤的作用有二:1.從客戶提交過來的表單中獲取請求內容;2.再把請求內容設置到javaBean當中去;property代表javaBean中的屬性名,name代表被實例化的javaBean對象,param代表request中的參數名.該標籤還可以寫成<jsp:setProperty property="*" name="userInfo"/>javaBean對象自動把request中的所有參數設置到javaBean中去 |
<jsp:getProperty property="password" name="userInfo"/> |
該標籤的的作用是輸出javaBean中的某個屬性的值在jsp頁面上,property指代javaBean中的某個屬性,name代表應用的javaBean對象 |
<jsp:include
page="index3.jsp"> <jsp:param
name="pass" value="123"/>
</jsp:include> |
該標籤的作用用於包含某個頁面,被包含的頁面可以使靜態,還可以是動態page代表被包含的頁面文件名,<jsp:param name="pass" value="123"/>的作用是向被包含的頁面的傳遞參數name參數名字,value代表參數的值 |
<jsp:forward
page="index3.jsp"> <jsp:param
name="password" value="123"/> </jsp:forward> |
該標籤的作用是向某個動態頁面進行服務器跳轉,page指向被跳轉的頁面,<jsp:param name="pass" value="123"/>的作用是向跳轉的頁面傳遞參數name是參數名,value是參數值 |
jsp兩種包含的區別
jsp 兩 種 包 含 | 這 兩 種 包 含 的 區 別 |
1.include指令 <%@ include file="" %> |
這種包含是一個靜態的包含,可以包含jsp文件,html文件,文本文件等。特點:先把文件包含進來,再一塊執行----即先包含,再執行 |
2.<jsp:include
page="index3.jsp"> <jsp:param
name="pass" value="123"/>
</jsp:include> |
這種包含既可以包含靜態頁面,還可以包含動態頁面,並且還可以向被包含的頁面傳遞參數,和中包含的特點:先將被包含的頁面代碼執行,再把它包含進來,即先執行,再包含 |
jsp中兩種跳轉的區別
jsp 兩 種 跳 轉 | 這 兩 種 跳 轉 的 區 別 |
1.response. sendRedirect(""); |
這是一種客戶端跳轉,跳轉時瀏覽器地址欄內容會改變 |
2.<jsp:forward
page="index3.jsp"> <jsp:param
name="password" value="123"/> </jsp:forward> |
這是服務器跳轉,跳轉時瀏覽器地址欄內容不會改變的,還可以向被跳轉的頁面傳遞參數 |