雖然你可以把大段的代碼放在腳本片段(scriptlet)內(nèi),但是絕大多數(shù)的Java代碼屬于可重復(fù)使用的名為JavaBea的組件。JavaBean類似于ActiveX控件:他們都能提供常用功能并且可以重復(fù)使用。
JavaBean的值是通過(guò)一些屬性獲得的,你可通過(guò)這些屬性訪問(wèn)JavaBean設(shè)置。以一個(gè)人來(lái)打比方,這個(gè)人就是一個(gè)JavaBean,這個(gè)人的名字、身份證號(hào)碼以及住址就是其屬性。在JSP網(wǎng)站,你基本上就是通過(guò)玩“Connect the beans)”來(lái)使你的網(wǎng)站動(dòng)態(tài)化。
假設(shè)JavaBean先于網(wǎng)站被創(chuàng)建出來(lái),你需要做的第一件事就是告訴JSP頁(yè)面它將要用到一個(gè)“Bean”。你可以用“<jsp:useBean>”標(biāo)記來(lái)做到這一點(diǎn): <jsp:useBean id="localName" class="com.jguru.Person" scope="application" />。
“<jsp:useBean>”標(biāo)記要求你用“id”屬性來(lái)識(shí)鑒別Bean。這里你提供一個(gè)名字來(lái)JSP頁(yè)面其余部分的Bean。除了“id”屬性,你還須告訴網(wǎng)頁(yè)面從何處查找Bean,或者它的Java類別名是什么。這種類別屬性提供確 認(rèn)Bean的功能,其他一些方法也可以做到這一點(diǎn)。最后一個(gè)必需的元素是“scope”屬性。有了“scope”屬性的幫助,你就能告訴Bean為單一頁(yè)面(默認(rèn)情況)[scope="page"]、為[scope="request"]請(qǐng)求為會(huì)話[scope="session"],或者為整個(gè)應(yīng)用程序[scope="application"]保持留信息。有了會(huì)話范圍,你就能非常容易地在JSP網(wǎng)頁(yè)面上維護(hù)購(gòu)物車等項(xiàng)目。
一旦你聲名了一個(gè)JavaBean,你就可以訪問(wèn)它的屬性來(lái)定制它。要獲得屬性值,請(qǐng)用“<jsp:getProperty>”標(biāo)記。有了這個(gè)標(biāo)記,你就能指定將要用到的Bean名稱(從useBean的"id"字段得到)以及你想得到其值的屬性。實(shí)際的值被放在輸出中: <jsp:getProperty id="localName" property="name" />。
要改變JavaBean屬性,你必須使用“<jsp:setProperty>”標(biāo)記。對(duì)這個(gè)標(biāo)記,你需要再次識(shí)別Bean和屬性,以修改并額外提供新值。如果命名正確,這些值可以從一個(gè)已提交的表中直接獲得:參數(shù)獲得: <jsp:setProperty id="localName" property="*" />;
可以從一個(gè)參數(shù)獲得,但你必須直接命名屬性和參數(shù): <jsp:setProperty id="localName" property="serialNumber" value="string" />
或者直接用一個(gè)名字稱和值來(lái)設(shè)置: <jsp:setProperty id="localName" property="serialNumber" value= <%= expression %> />.
關(guān)于JavaBean 的最后一件事: 為了Web服務(wù)器能找到JavaBean,你需要將其類別文件放在一個(gè)特殊位置。用JSWDK,最 方便的位置是安裝目錄下的類別目錄,如\jswdk-1.0.1\classes。
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!