JavaBean是在編寫Java時專門建立的Java類,根據JavaBean API規範進行編碼。以下是區分JavaBean和其他Java類的特有的特征:
它提供了一個預設的無參數構造函數。
它應該是可序列化的,實作serializable接口。
它可能有大量可以讀或寫的屬性。
它可能有大量“getter”和“setter”方法的屬性。
一、JavaBean屬性
JavaBean屬性是一個命名屬性,這個屬性是使用者可以通路的對象。屬性可以是任何Java資料類型,包括自定義的類。
JavaBean屬性可以讀、寫、隻讀或隻寫。JavaBean屬性是在JavaBean實作類中通過兩種方法通路的:
<col>
方法
描述
getPropertyName()
例如,如果屬性名稱是firstName,方法名稱應該是getFirstName(),它可以讀該屬性。該方法叫做通路器。
setPropertyName()
例如,如果屬性名稱是firstName,方法名稱應該是setFirstName(),它可以寫該屬性。該方法叫做指派方法。
一個隻讀屬性隻會有一個getPropertyName()方法,而一個隻寫屬性将隻有一個setPropertyName()方法。
二、JavaBeans例子
考慮一個帶有一些屬性的Student類:
三、通路JavaBeans
在一個JSP頁面使用時,useBean操作聲明一個對象。一旦聲明,bean成為腳本變量,在使用它的JSP頁面中,它可以通過腳本元素和其他自定義标簽通路。useBean标簽的完整的文法如下:
根據需求,這裡scope屬性值可能是頁面、請求、會話或應用程式。id屬性的值可以是任何值,在同一個JSP頁面中,隻要它是一個唯一的名字與其他useBean聲明。
下面的例子顯示了其簡單的用法:
産生的結果如下所示:

四、通路JavaBean屬性
随着<jsp:useBean…>,可以使用<jsp:getProperty />操作來通路get方法和<jsp:setProperty />操作來通路set方法。這是完整的文法:
該名稱屬性通過useBean操作把先前介紹JavaBean的id引用到JSP頁面中。該屬性的屬性是應該被調用get或set方法的名稱。
下面是一個使用上面的文法通路資料的簡單的例子:
這将産生以下結果:
測試工程:https://github.com/easonjim/5_java_example/tree/master/jspbasics/test19