?? 13.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0042)http://www.aspcn.com/showarticle.asp?id=89 -->
<HTML><HEAD><TITLE>jsp</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" name=GENERATOR><LINK
href="13.files/aspcn.css" rel=stylesheet type=text/css></HEAD>
<BODY>
<table border=0 width="100%">
<tbody>
<tr>
<td>13<br>
<h2 align=center><jsp:setProperty></h2>
<p>設(shè)置Bean中的屬性值. </p>
<a name=9318></a>
<h4>JSP語法</h4>
<blockquote><jsp:setProperty <br>
name="<em>beanInstanceName</em>" <br>
{ <br>
property= "*" | <br>
property="<em>propertyName</em>"
[ param="<em>parameterName</em>" ] | <br>
property="<em>propertyName</em>"
value="{<em>string</em> | <%= <em>expression</em> %>}" <br>
} <br>
/> </blockquote>
<a
name=16463></a>
<h4>例子</h4>
<blockquote><jsp:setProperty name="mybean" property="*" /> <br>
<jsp:setProperty name="mybean" property="username" /> <br>
<jsp:setProperty name="mybean" property="username" value="Steve" />
</blockquote>
<a name=17957></a>
<h4>描述</h4>
<p><jsp:setProperty>元素使用Bean給定的setter方法,在Bean中設(shè)置一個或多個屬性值。你在使用這個元素之前必須得使用<jsp:useBean>聲明此Bean.因為,<jsp:useBean>和<jsp:setProperty>是聯(lián)系在一起的,同時這他們使用的Bean實例的名字也應(yīng)當(dāng)相匹配(就是說,在<jsp:setProperty>中的name的值應(yīng)當(dāng)和<jsp:useBean>中id的值相同)
</p>
<p>你能使用多種方法利用<jsp:setProperty>來設(shè)定屬性值 : </p>
<ul>
<a name=11925></a>
<li>通過用戶輸入的所有值(被做為參數(shù)儲存中request對象中)來匹配Bean中的屬性
<li>通過用戶輸入的指定的值來匹配Bean中指定的屬性
<li>在運行時使用一個表達(dá)式來匹配Bean的屬性 </li>
</ul>
<p>每一種設(shè)定屬性值的方法都有其特定的語法,下面我們會來講解 </p>
<a name=18217></a>
<h4>屬性及其用法</h4>
<ul>
<a name=17612></a>
<li>name="<em>beanInstanceName</em>"
<p>表示已經(jīng)在<jsp:useBean>中創(chuàng)建的Bean實例的名字. </p>
<a
name=9918></a>
<li>property="*"
<p>儲存用戶在Jsp輸入的所有值,用于匹配Bean中的屬性。在Bean中的屬性的名字必須和request對象中的參數(shù)名一致. </p>
<p>從客戶傳到服器上的參數(shù)值一般都是字符類型 ,這些字符串為了能夠在Bean中匹配就必須轉(zhuǎn)換成其它的類型,下面的表中列出了Bean屬性的類型以及他們的轉(zhuǎn)換方法.
<p><b>把字符串轉(zhuǎn)化為其它類型的方法.</b>
<table border=3>
<caption></caption>
<tbody>
<tr>
<th>
<p>Property 類型 </p>
</th>
<th>方法</th>
</tr>
<tr>
<td><br>
<p> boolean or Boolean </p>
</td>
<td><br>
<p> java.lang.Boolean.valueOf(String) </p>
</td>
</tr>
<tr>
<td><br>
<p>byte or Byte </p>
</td>
<td><br>
<p> java.lang.Byte.valueOf(String) </p>
</td>
</tr>
<tr>
<td><br>
<p> char or Character </p>
</td>
<td><br>
<p> java.lang.Character.valueOf(String) </p>
</td>
</tr>
<tr>
<td><br>
<p> double or Double </p>
</td>
<td><br>
<p> java.lang.Double.valueOf(String) </p>
</td>
</tr>
<tr>
<td><br>
<p> integer or Integer </p>
</td>
<td><br>
<p> java.lang.Integer.valueOf(String) </p>
</td>
</tr>
<tr>
<td><br>
<p> float or Float </p>
</td>
<td><br>
<p> java.lang.Float.valueOf(String) </p>
</td>
</tr>
<tr>
<td><br>
<p> long or Long </p>
</td>
<td><br>
<p> java.lang.Long.valueOf(String) </p>
</td>
</tr>
</tbody>
</table>
<p>如果request對象的參數(shù)值中有空值,那么對應(yīng)的Bean屬性將不會設(shè)定任何值。同樣的,如果Bean中有一個屬性沒有與之對應(yīng)的Request參數(shù)值,那么這個屬性同樣也不會設(shè)定.
</p>
<a name=9919></a>
<li>property="<em>propertyName</em>" [ param="<em>parameterName</em>"
]
<p>使用request中的一個參數(shù)值來指定Bean中的一個屬性值。在這個語法中,property指定Bean的屬性名,param指定request中的參數(shù)名.
</p>
<p>如果bean屬性和request參數(shù)的名字不同,那么你就必須得指定property和param ,如果他們同名,那么你就只需要指明property就行了.
</p>
<p>如查參數(shù)值為空(或未初始化),對應(yīng)的Bean屬性不被設(shè)定. </p>
<a name=9920></a>
<li>property="<em>propertyName</em>" value="{<em>string</em> | <%=
<em>expression</em> %>}"
<p>使用指定的值來設(shè)定Bean屬性。這個值可以是字符串,也可以是表達(dá)式。如果這個字符串,那么它就會被轉(zhuǎn)換成Bean屬性的類型(查看上面的表).如果它是一個表達(dá)式,那么它類型就必須和它將要設(shè)定的屬性值的類型一致。
</p>
<p>如果參數(shù)值為空,那么對應(yīng)的屬性值也不會被設(shè)定。另外,你不能在一個<jsp:setProperty>中同時使用param和value
</p>
</li>
</ul>
<h4>技巧</h4>
<ul>
<a name=19199></a>
<li>如果你使用了property="*",那么Bean的屬性沒有必要按Html表單中的順序排序 </li>
</ul>
</td>
</tr>
<tr>
<td>所有文章來自<font color=red>http://www.aspcn.com ASP中華網(wǎng)</font>如要轉(zhuǎn)載請注明出處,謝謝</td>
</tr>
</tbody>
</table>
</BODY></HTML>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -