雖然你可以在小型指令檔裡放入一大塊的程式碼,但是大多數的Java程式碼是屬於可以重復使用的元件,稱為JavaBean。JavaBean就跟ActiveX控制項一樣:它們提供已知的功能,並且是為了可隨時重復使用的目的而設計的。
JavaBean的¤值在於它可以經由一組特性來使用,而這些特性則提供對JavaBean設定的存取。以人來作范例,此人就是JavaBean,而他的姓名,社會福利安全號碼,以及住址可以是特性。對於JSP網站,基本上你是將JavaBean動態的連接到你的網站。
假設JavaBean是在建立網站之前建好的,你要做的第一件事是告訴JSP網頁它所 要使用JavaBean.這工作可以用<jsp:useBean>標簽來完成:
<jsp:useBean id="localName" class="com.jguru.Person" scope="application" />.
<jsp:useBean>標簽 要你以id 屬性來辨識豆子.在這裡,你提供一個名稱讓JSP網頁來辨識豆子,除了id 屬性之外,你也必須告訴網頁要到哪裡去找這個豆子,或者是它的Java類別名稱。類別屬性提供如何在各式方法之中找到它,最後一個 要的元件是scope 屬性.有了范圍屬性的幫助,你可以告訴豆子,要它為單一網頁(預設)[scope="page"];為一個被請求的網頁[scope="request"];為通話期[scope="session"];或為整個應用程式[scope="application"]來維護它自己的資訊.對於通話期范圍,你可以很容易的維護JSP網頁裡的項目,例如購物車。
一但你宣告了JavaBean之後,你就可以存取它的特性來訂定它。要取得一特性的值,使用<jsp:getProperty>標簽。有了<jsp:getProperty>標簽,你可以指定要使用的豆子名稱(從useBean的id欄位),以及你要取得值的特性。接著,真正的值就會放在輸出裡:
<jsp:getProperty id="localName" property="name" />.
要更改JavaBean的特性,你 要使用<jsp:setProperty>標簽.對這個標簽,你也 要辨認豆子以及要修正的特性,除此之外,你還 要提供新值.如果命名正確,這些可以直接經由規定的格式取得:
<jsp:setProperty id="localName" property="*" />;
要從一參數取得,你必須直接命名此特性以及參數:
<jsp:setProperty id="localName" property="address" param="parameterName" />;
或是直接以名稱與值來設定:
<jsp:setProperty id="localName" property="serialNumber" value="string" /> or <jsp:setProperty id="localName" property="serialNumber" value= <%= expression %> />.
有關JavaBean的最後一點:要讓網絡服務器可以找到JavaBean,你 要將它們的類別檔案放在特別位置。對JSWDK而言,最簡單的地方是在安裝目錄裡的類別目錄,例如 jswdk-1.0.1classes.