jsp動態動作指令

 

一、include動作指令

 

<jsp:include>標籤表示包含一個靜態的或者動態的文件。

語法:
            <jsp:include page="文件路徑" flush="true" />
            或者
            <jsp:include page="path" flush="true">
               <jsp:param name="參數名1" value="參數1值" />

           ...............

           <jsp:param name="參數名n" value="參數n值" />
            </jsp:include>

注:

1、flush="true" 必須使用flush爲true,它默認值是false。

2、<jsp:param>子句能讓你傳遞一個或多個參數給動態文件,也可在一個頁面中使用多個<jsp:param>來傳遞多個參數給動態文件。

 

二、forward動作指令

 

<jsp:forward>標籤從一個JSP文件向另一個文件傳遞包含用戶請求的request對象。

語法:
            <jsp:forward page="文件路徑" />
            或者
            <jsp:forward page="文件路徑">
               <jsp:param name="參數名1" value="參數1值" />

            ...............

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

        </jsp:forward>

 

三、useBean動作指令

 

<jsp:useBean>標籤表示用來在JSP頁面中創建一個BEAN實例並指定它的名字以及作用範圍。

語法:
<jsp:useBean id="name" scope="page | request | session | application" typeSpec />
其中typeSpec有以下幾種可能的情況:
class="包名.類名" | class="包名.類名" type="typeName" | beanName="包名.類名" type="typeName"

 

在JSP中使用bean,class屬性必須使用完全限定類名——包括包名的類名。不管你是否使用<%@ page import ...%>輸入包,都要滿足這個要求。

 

<jsp:useBean id=”book” class=”core.Book”/> 等價於 <%core.Book book=new core.Book();%>

僅當找不到相同id和scope的bean時,jsp:useBean元素纔會實例化新的bean。如果存在相同id和scope的bean,則只是將已有的bean綁定到相關的變量(由id指定)。

我們可以不使用  <jsp:useBean…/>

轉而使用        <jsp:useBean>statements</jsp:useBean>

使用第二種形式的意義在於,jsp:useBean的起始標籤和結束標籤之間的語句只是在創建新的bean時執行,如果使用已有的bean,則不執行。

 

四、getProperty動作指令

 

<jsp:getProperty>標籤表示獲取BEAN的屬性的值並將之轉化爲一個字符串,然後將其插入到輸出的頁面中。

語法:
<jsp:getProperty name="bean的名稱" property="屬性名稱" />

注:
1、在使用<jsp:getProperty>之前,必須用<jsp:useBean>來創建它。
2、不能使用<jsp:getProperty>來檢索一個已經被索引了的屬性。
3、能夠和JavaBeans組件一起使用<jsp:getProperty>,但是不能與Enterprise Java Bean一起使用。

 

五、setProperty動作指令

 

<jsp:setProperty>標籤表示用來設置Bean中的屬性值。

四種語法格式:

<jsp:setProperty name="bean的名稱" property="*" />

<jsp:setProperty name="bean的名稱" property="屬性名稱"/>

<jsp:setProperty name="bean的名稱" property="屬性名稱" param="參數值" />

<jsp:setProperty name="bean的名稱" property="屬性名稱" value="屬性值" />

第一種語法格式中,property="*",應用這種格式要求bean屬性的名字與類型要和request對象中參數名稱與類型一致,一次用bean中的屬性來接收客戶輸入的數據,系統會根據名稱來自動匹配。

第二種語法格式則指設置其中匹配的一個bean的屬性。

第三種語法格式根據制定的request對象中的參數與屬性匹配。

第四種語法格式用來給bean的屬性賦值,屬性值的數據類型要與屬性的數據類型一致,否則會出錯。字符串轉換爲其他數據類型的函數分別爲:

轉換爲boolean  Boolean.valueof(String str).booleanValue()

轉換爲byte     Byte.valueof(String str).byteValue()

轉換爲char     Character.valueof(String str).charValue()

轉換爲double   Double.valueof(String str).doubleValue()

轉換爲float    Float.valueof(String str).floatValue()

轉換爲int      Integer.valueof(String str).intValue()

轉換爲long     Long.valueof(String str).longValue()

注:使用 jsp:setProperty 來爲一個Bean的屬性賦值;可以使用兩種方式來實現。
    1、在jsp:useBean後使用jsp:setProperty:
      <jsp:useBean id="myUser" … />
      …
      <jsp:setProperty name="user" property="user" … />
      在這種方式中,jsp:setProperty將被執行。
    2、jsp:setProperty出現在jsp:useBean標籤內:
      <jsp:useBean id="myUser" … >
      …
      <jsp:setProperty name="user" property="user" … />
      </jsp:useBean>
     在這種方式中,jsp:setProperty只會在新的對象被實例化時纔將被執行。

在同一個setProperty動作指令中不能同時存在param和value參數。

 

六、plugin動作指令

 

這個動作指令用來在JSP中加載Java applet小程序。用<applet></applet>也可以是客戶端下載並運行Java applet小程序,但有的瀏覽器不支持,如果Java applet小程序使用了這樣的類,將無法執行。用plugin動作指令可以較好的解決這個問題。

語法:
<jsp:plugin 
      type="applet" 
      code="小程序的類文件" 
      codebase="小程序所在的位置" 
      [ height="小程序顯示高度" ] 
      [ width="小程序顯示寬度" ] 
      [ jreversion="虛擬機版本號" ] 
      [ <jsp:params> 
         [ <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" /> ]+ 
      </jsp:params> ] 
      [ <jsp:fallback> 客戶端瀏覽器是否支持插件下載的提示信息</jsp:fallback> ]
</jsp:plugin>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章