我有一個accordionPanel
如下:顯示取決於條件的JSF值
<p:accordionPanel value="#{bean.list}" var="entry"
dynamic="true" cache="true">
<p:tab title="#{entry.alias}">
<h:panelGrid columns="2" cellpadding="10">
<h:outputText value="#{entry.text}" />
</h:panelGrid>
</p:tab>
</p:accordionPanel>
而在我的Managed Bean的初始化我兩個列表:
public void init(){
acceuil = 1;
salles = salleService.listSalles();
appareils = appareilService.list();
}
我使用的是acceuil
變量,以便當我將它設置爲1
另一方面,如果將它設置爲2
,我將在我的accordionPanel
中使用appareils
列表(請注意,appareil和salle對象具有相同的屬性alias
和text
,但它們沒有從它們擴展的通信類)。
所以在我的JSF頁面我想要做這樣的事情:
value="#{bean.acceuil == 1 ? bean.salles : bean.appareils}"
我怎樣才能做到這一點?
對不起,但我沒有權利創建一個新的接口或類,我必須使用jsf來做。 –
你總是可以擴展'Sale'和'Appareil'來創建實現'AliasAndText'接口的視圖助手類。否則,您可以使用原始類進行迭代,但是,如果字段名稱發生更改,您的視圖將被打破,不會出現編譯錯誤。 –