2012-11-14 51 views
1

我使用primefaces 3.4.1和myfaces 2.1.9。primefaces,如何有條件地渲染組件而不創建它

我需要有條件地在選項卡中顯示組件。 就目前我的代碼看起來像這樣:

<p:tab id="tab" title="tabTitle"> 
    <h:panelGroup id="tabContent"> 
     <componentX:component id="component1" rendered="#{not condition}" /> 
     <componentY:component id="component2" rendered="#{condition}" /> 
    </h:panelGroup> 
</p:tab> 

我自願改過的組件和參數

我的問題是這個解決方案COMPONENT1和COMPONENT2都創建的名稱。因此,如果從未顯示,服務器將會生成兩個組件事件。

我的問題是,是否有一個(乾淨的)方式來獲得這個渲染結果而不創建這兩個組件? 我與c:if和c:有相同的結果,選擇時,我已經沒有想法。

+0

我覺得需要一些重新設計,並沒有什麼錯在創建組件,只要確保不重邏輯裏面做,如果沒有需要,或者你可以創建一些控制器bean來決定是否需要創建一些組件 – Daniel

+1

''和''應該這樣做。請更清楚地描述具體問題。 – BalusC

回答

0

您可以使用C:如果這裏沒有問題......