天天看點

JSP中操作Java Beans

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聲明。

下面的例子顯示了其簡單的用法:

産生的結果如下所示:

JSP中操作Java Beans

四、通路JavaBean屬性

随着&lt;jsp:useBean…&gt;,可以使用&lt;jsp:getProperty /&gt;操作來通路get方法和&lt;jsp:setProperty /&gt;操作來通路set方法。這是完整的文法:

該名稱屬性通過useBean操作把先前介紹JavaBean的id引用到JSP頁面中。該屬性的屬性是應該被調用get或set方法的名稱。

下面是一個使用上面的文法通路資料的簡單的例子:

這将産生以下結果:

JSP中操作Java Beans

測試工程:​​https://github.com/easonjim/5_java_example/tree/master/jspbasics/test19​​