屬於el語言的一個語法。

基本介紹

  • 中文名:Bean中的屬性值標籤
  • 外文名:jsp:setProperty
基本信息,例子,描述,屬性及其用法,技巧,

基本信息

<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 name="mybean" property="username" value="*" />
<jsp:setProperty name="mybean" property="username" value="*" />

描述

<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表單中的順序排序

相關詞條

熱門詞條

聯絡我們