2012-11-14 49 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:如果这里没有问题......