雖然你可以在小型指令文件里放入一大塊的程序代碼,但是大多數(shù)的java程序代碼是屬于可以重復(fù)使用的組件,稱為javabean。javabean就跟activex控件一樣:它們提供已知的功能,并且是為了可隨時(shí)重復(fù)使用的目的而設(shè)計(jì)的。
javabean的價(jià)值在于它可以經(jīng)由一組特性來使用,而這些特性則提供對(duì)javabean設(shè)定的存取。以人來作范例,此人就是javabean,而他的姓名,社會(huì)福利安全號(hào)碼,以及住址可以是特性。對(duì)于jsp網(wǎng)站,基本上你是將'javabean'動(dòng)態(tài)的連接到你的網(wǎng)站。
假設(shè)javabean是在建立網(wǎng)站之前建好的,你要做的第一件事是告訴jsp網(wǎng)頁(yè)它所需要使用javabean.這工作可以用<jsp:usebean>卷標(biāo)來完成:<jsp:usebean id="localname" class="com.jguru.person" scope="application" />.
<jsp:usebean>卷標(biāo)需要你以id 屬性來辨識(shí)豆子.在這里,你提供一個(gè)名稱讓jsp網(wǎng)頁(yè)來辨識(shí)豆子,除了id 屬性之外,你也必須告訴網(wǎng)頁(yè)要到哪里去找這個(gè)豆子,或者是它的java類別名稱。類別屬性提供如何在各式方法之中找到它,最后一個(gè)需要的組件是scope 屬性.有了范圍屬性的幫助,你可以告訴豆子,要它為單一網(wǎng)頁(yè)(預(yù)設(shè))[scope="page"];為一個(gè)被請(qǐng)求的網(wǎng)頁(yè)[scope="request"];為通話期[scope="session"];或?yàn)檎麄€(gè)應(yīng)用程序[scope="application"]來維護(hù)它自己的信息.對(duì)于通話期范圍,你可以很容易的維護(hù)jsp網(wǎng)頁(yè)里的項(xiàng)目,例如購(gòu)物車。
一但你宣告了javabean之后,你就可以存取它的特性來訂定它。要取得一特性的值,使用<jsp:getproperty>卷標(biāo)。有了<jsp:getproperty>卷標(biāo),你可以指定要使用的豆子名稱(從usebean的id字段),以及你要取得值的特性。接著,真正的值就會(huì)放在輸出里:<jsp:getproperty id="localname" property="name" />.
要更改javabean的特性,你需要使用<jsp:setproperty>卷標(biāo).對(duì)這個(gè)卷標(biāo),你也需要辨認(rèn)豆子以及要修正的特性,除此之外,你還需要提供新值.如果命名正確,這些可以直接經(jīng)由規(guī)定的格式取得:<jsp:setproperty id="localname" property="*" />;
要從一參數(shù)取得,你必須直接命名此特性以及參數(shù): <jsp:setproperty id="localname" property="address" param="parametername" />;
或是直接以名稱與值來設(shè)定: <jsp:setproperty id="localname" property="serialnumber" value="string" /> or <jsp:setproperty id="localname" property="serialnumber" value= <%= expression %> />.
有關(guān)javabean的最后一點(diǎn):要讓網(wǎng)絡(luò)服務(wù)器可以找到j(luò)avabean,你需要將它們的類別檔案放在特別位置。對(duì)jswdk而言,最簡(jiǎn)單的地方是在安裝目錄里的類別目錄,例如 jswdk-1.0.1classes.
新聞熱點(diǎn)
疑難解答
圖片精選