JSP文法(13)

來源:互聯網
上載者:User
js|文法
<jsp:setProperty>

設定Bean中的屬性值.



JSP文法

<jsp:setProperty

name="beanInstanceName"

{

property= "*" |

property="propertyName" [ param="parameterName" ] |

property="propertyName" value="{string | <%= expression %>}"

}

/>

例子

<jsp:setProperty name="mybean" property="*" />

<jsp:setProperty name="mybean" property="username" />

<jsp:setProperty name="mybean" property="username" value="Steve" />

描述

<jsp:setProperty>元素使用Bean給定的setter方法,在Bean中設定一個或多個屬性值。你在使用這個元素之前必須得使用<jsp:useBean>聲明此Bean.因為,<jsp:useBean>和<jsp:setProperty>是聯絡在一起的,同時這他們使用的Bean執行個體的名字也應當相匹配(就是說,在<jsp:setProperty>中的name的值應當和<jsp:useBean>中id的值相同)



你能使用多種方法利用<jsp:setProperty>來設定屬性值 :



通過使用者輸入的所有值(被做為參數儲存中request對象中)來匹配Bean中的屬性

通過使用者輸入的指定的值來匹配Bean中指定的屬性

在運行時使用一個運算式來匹配Bean的屬性

每一種設定屬性值的方法都有其特定的文法,下面我們會來講解



屬性及其用法

name="beanInstanceName"

表示已經在<jsp:useBean>中建立的Bean執行個體的名字.



property="*"

儲存使用者在Jsp輸入的所有值,用於匹配Bean中的屬性。在Bean中的屬性的名字必須和request對象中的參數名一致.



從客戶傳到服器上的參數值一般都是字元類型 ,這些字串為了能夠在Bean中匹配就必須轉換成其它的類型,下面的表中列出了Bean屬性的類型以及他們的轉換方法.



把字串轉化為其它類型的方法. Property 類型

方法





boolean or Boolean





java.lang.Boolean.valueOf(String)







byte or Byte





java.lang.Byte.valueOf(String)







char or Character





java.lang.Character.valueOf(String)







double or Double





java.lang.Double.valueOf(String)







integer or Integer





java.lang.Integer.valueOf(String)







float or Float





java.lang.Float.valueOf(String)







long or Long





java.lang.Long.valueOf(String)







如果request對象的參數值中有空值,那麼對應的Bean屬性將不會設定任何值。同樣的,如果Bean中有一個屬性沒有與之對應的Request參數值,那麼這個屬性同樣也不會設定.



property="propertyName" [ param="parameterName" ]

使用request中的一個參數值來指定Bean中的一個屬性值。在這個文法中,property指定Bean的屬性名稱,param指定request中的參數名.



如果bean屬性和request參數的名字不同,那麼你就必須得指定property和param ,如果他們同名,那麼你就只需要指明property就行了.



如查參數值為空白(或未初始化),對應的Bean屬性不被設定.



property="propertyName" value="{string | <%= expression %>}"

使用指定的值來設定Bean屬性。這個值可以是字串,也可以是運算式。如果這個字串,那麼它就會被轉換成Bean屬性的類型(查看上面的表).如果它是一個運算式,那麼它類型就必須和它將要設定的屬性值的類型一致。



如果參數值為空白,那麼對應的屬性值也不會被設定。另外,你不能在一個<jsp:setProperty>中同時使用param和value



技巧

如果你使用了property="*",那麼Bean的屬性沒有必要按Html表單中的順序排序


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.