|
|
如果您為您的JavaBean定義了一個抽象類別,並讓所有的JavaBean實作該抽象類別,則在使用<jsp:useBean>時,可以使用type屬性來指定抽象型態,而使用class屬性來指定實際的實作類別。 舉例來說,假設您定義了一個Person抽象類別:
package onlyfun.caterpillar; 然後您有定義一個Student類別實作了Person類別:
package onlyfun.caterpillar; 在使用<jsp:useBean>時,使用type來指定抽象型態,例如: <jsp:useBean id="person" type="onlyfun.caterpillar.Person" class="onlyfun.caterpillar.Student"/>
則實際上在轉譯為Servlet時,就會產生如下的程式碼: ...
onlyfun.caterpillar.Person person = null; if(person == null) person = new onlyfun.caterpillar.Student(); .... type屬性的設定可以是一個抽象類別,也可以是一個介面,如果您只設定type而沒有設定class,則您必須確定在某個範圍中已經存在您所要的Bean物件,否則會發生InstantiationException例外。 |