如果我在JSF頁面中有一個泛型bean。就像這樣:如何在應用程序開始時將一些託管bean作爲默認值啓動`genericBean`?
<h:outputLabel value="#{genericBean.content}"/>
和這個bean不是一個管理的bean,即在臉上,配置有隻有2託管bean:
<managed-bean>
<managed-bean-name>bean1</managed-bean-name>
<managed-bean-class>mb.Bean1</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>bean2</managed-bean-name>
<managed-bean-class>mb.Bean2</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
,如果這兩種豆類有方法的getContent() :
public class Bean1{
public String getContent(){
return "Content of Bean 1";
}
}
和
public class Bean2{
public String getContent(){
return "Content of Bean 2";
}
}
然後我可以與他們的一個改變genericBean:
Bean1 bean1 = new Bean1();
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("genericBean", bean1);
或
Bean2 bean2 = new Bean2();
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("genericBean", bean2);
根據一些業務邏輯。
正如您所看到的,我正在使用genericBean
作爲面孔環境中的標籤。現在我的問題是:如何在應用程序開始時以bean1
作爲默認值啓動genericBean
?
謝謝。