JSP 動作元素


JSP動作元素

1、  動作元素分類

用來動態的包含文件、網頁跳轉及使用JavaBean組件等。

語法:<jsp:XXX />或者<jsp:XXX></jsp:XXX>

第一類是與存取JavaBean有關的,包括<jsp:useBean>、<jsp:setProperty>  <jsp:getProperty>

第二類是基本動作元素,包括<jsp:include>、<jsp:forward>、<jsp:param>、<jsp:plugin>、<jsp:params>、<jsp:fallback>

第三類是主要與JSP document有關,包括如下幾個動作元素,<jsp:root>、<jsp:declaration>、<jsp:scriptlet>、<jsp:expression>、<jsp:text>、<jsp:output>

第四類主要用來動態的生成xml元素標簽的值,包括<jsp:attribute>、<jsp:body>、<jsp:element>

第五類主要用於Tag File,包括<jsp:invoke>、<jsp:doBody>

 

2、<jsp:include>動作元素

語法格式<jsp:include page=”包含文件url地址” flush=”true|false” >

         屬性page用來指定包含文件的url地址,屬性flush用來指定緩沖區滿時,是否進行清空。

         如果包含的文件為靜態文件,那么就是單純的加到JSP頁面中,不會進行任何處理;如果被包含的文件為動態的文件,那么會先進行處理,再將處理的結果加到JSP頁面。

 

3、<jsp:forward>動作元素

用來轉移用戶的請求,使得用戶請求的頁面跳轉到另一個頁面。這種跳轉為服務器端跳轉,所以用戶的地址欄不會發生任何變化。語法格式如下:

         <jsp:forward page=”跳轉文件URL地址”>

 

4、<jsp:param>動作元素

         用來傳遞參數,一般與<jsp:include>、<jsp:forward>聯合使用,其語法格式如下:

         <jsp:param name=”參數名” value=”參數值”/>

 

5、<jsp:plugin>動作元素

         用來在JSP中嵌入Java插件,如Applet。語法格式如下:

         <jsp:plugin

Type=”bean | applet”

name=”Applet name”

code=”Java class name”

codebase=”Javal class Cat”

align=”對齊方式”

height=”高度”

width=”寬度”

hspace=”水平間距”

vspace=”垂直間距”

archive=”預先加載的類列表”

jreversion=”JRE版本”

iepluginurl=”url”

nspluginurl=”url”>

</jsp:plugin>

 

6、<jsp:params>動作元素

         用來給Bean或Applet傳遞參數,一般為多個參數。

         <jsp:params>

                   <jsp:param name=”” value=””/>

<jsp:param name=”” value=””/>

         </jsp:params>

 

7、<jsp:fallback>動作元素

         用來指定當瀏覽器不支持或無法啟動Bean或Applet時,在頁面上打印輸出錯誤提示信息。其語法格式如下:

         <jsp:fallback>錯誤信息</jsp:fallback>

 

JSP內置對象

9種內置對象,可以直接引用,不用進行顯式的聲明。

與Servlet有關的內置對象,包括page和config兩個對象。

與Input/Output有關的內置對象,包括out、request和response三個對象。

與Context有關的內置對象,包括session、application和pageContext三個對象。

與Error有關的內置對象,僅包括exception這一個對象。

 

1、屬性保存范圍

         1)page范圍,指設置的屬性只在當前頁面有效。通過使用pageContext的setAttribute()方法來設置屬性,並通過pageContext的個體Attribute()方法來取得屬性。

         2)request范圍,指屬性在一次請求范圍內有效。如果頁面從一個頁面跳轉到另一個頁面,那么該屬性就失效了。這里的跳轉指客戶端跳轉。通過使用request的setAtrribute()方法來設置屬性,並通過request的getAttribute()方法來取得屬性。

         3)sessiion范圍,指客戶瀏覽器與服務器一次會話范圍內,如果和服務器斷開連接,那么這個屬性也就失效了。通過使用session的setAtrribute()方法來設置屬性,並通過session的getAttribute()方法來取得屬性。

         4)application范圍,指在整個服務器范圍,直到服務器停止以后才會失效。通過通過使用application的setAtrribute()方法來設置屬性,並通過application的getAttribute()方法來取得屬性。

 

2、  移除屬性

只需調用相應對象的removeAttribute()方法就可以移除指定屬性。

 

3、  request對象

不但可以用來設置和取得request范圍變量,還可以用來獲得客戶端請求參數、請求的來源、表頭、cookies等。

獲得客戶端請求參數,

getParameter(String name),獲得參數名為name的參數值

/getParameterNames(),獲得所有參數的名稱

/getParameterValues(String name),獲得參數名為name的所有參數

/getParameterMap(),獲得所有參數封裝的Map實例。

 

4、  response對象

可以用來給客戶端傳送輸出信息。

addCookie(Cookie cookie),添加cookie

addDateHeader(String name, long date),添加一個標題名稱為name標頭,其值為日期類型。

addHeader(String name, String value),添加一個標題名稱為name標頭,其值為字符串類型。

addIntHeader(String name, Int value),添加一個標題名稱為name標頭,其值為整數類型。

 

setDateHeader(String name, long date),設置一個標題名稱為name標頭,其值為日期類型。

setHeader(String name, String value),設置一個標題名稱為name標頭,其值為字符串類型。

setIntHeader(String name, Int value),設置一個標題名稱為name標頭,其值為整數類型。

 

sendError(int sc),傳遞狀態碼

sendError(int sc, String msg),傳送狀態碼和錯誤信息

setStatus(int sc),設置狀態碼

sendRedirect(URL),頁面重定向,用來實現頁面跳轉。

 

5、  out對象

用來向網頁輸出信息

clear(),清楚網頁上輸出內容

clearBuffer(),清楚緩沖區內容

close(),關閉緩沖區,清楚所有內容

getBufferSize(),取得緩沖區大小

isAutoFlush(),獲得緩沖區是否進行自動清除的信息

print(String str),進行頁面輸出

println(String str),進行頁面輸出並換行

 

 

6、  session對象

用來表示用戶的會話狀況,一邊用於保存用戶的各種信息,直到生命周期超時或者被釋放掉為止。

getId(),獲得session的ID

getCreationTime(),獲得session生成的時間

getLastAccessedTime(),獲得用戶最后通過session發送請求時間

getMaxInactiveInterval,設置session生命周期,如果超過這個時間則失效。、

 

7、  application對象

用來取得和設置Servlet的相關信息。

getMajorVersion(),獲得主要的Servlet API版本

getMinorVersion(),獲得次要的Servlet API版本

getServerInfo(),獲得服務器版本

getMimeType,獲得指定文件的MIME類型

getContext,獲得指定Local的Application context

getRealPath,獲得指定path的絕對路徑

 

 

JSP和JavaBean

1、  在JSP中調用JavaBean

語法格式為:

<jsp:useBean id=”對象名稱” scope=”存儲范圍” class=”類名” ></jsp:useBean>

id屬性表示該JavaBean實例化后的對象名稱。scope屬性用來指定該JavaBean的范圍,也就是指JavaBean實例化后的對象存儲范圍。范圍的取值為page、request、session和application。class屬性用來指定JavaBean的類名,包括包名和類名。

2、  設置JavaBean屬性

<jsp:setProperty name=”實例化對象名” property=”*” />

*表示按照表單傳遞的所有參數來設置JavaBean的屬性。

<jsp:setProperty name=”實例化對象名” property=”屬性名稱” />

根據指定參數設置JavaBean屬性。

<jsp:setProperty name=”實例化對象名” property=”屬性名稱”  param=”參數名稱” />

相比上面方法,可以通過其指定需要設置的JavaBean屬性。

<jsp:setProperty name=”實例化對象名” property=”屬性名稱”  value=”屬性值” />

可以根據需要動態地設置JavaBean屬性值。

 

 

EL表達式

EL即為Expression Language。

1、  算術運算符

${1+1}        ${1-1}        ${1*1}       ${1/1}       ${1%1}     

2、  關系運算符

同樣的,${表達式}。

關系運算符,==,!=,<,>,<=,>=。

3、  邏輯運算符,&&,||,!。

4、  條件運算符,${A?B:C}。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM