Jsf primefaces,如何在不创建组件的情况下有条件地渲染组件

Jsf primefaces,如何在不创建组件的情况下有条件地渲染组件,jsf,primefaces,rendering,Jsf,Primefaces,Rendering,我使用primefaces 3.4.1和myfaces 2.1.9 我需要有条件地显示选项卡中的组件。 目前,我的代码如下所示: <p:tab id="tab" title="tabTitle"> <h:panelGroup id="tabContent"> <componentX:component id="component1" rendered="#{not condition}" /> <componen

我使用primefaces 3.4.1和myfaces 2.1.9

我需要有条件地显示选项卡中的组件。 目前,我的代码如下所示:

<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>

我自愿更改了组件和参数的名称

我的问题是这个解决方案都创建了组件1和组件2。因此,如果一个组件从未显示,服务器将生成两个组件事件

我的问题是,有没有一种(干净的)方法可以在不创建两个组件的情况下获得渲染结果?
我对c:if和c:choose有相同的结果,我已经没有想法了。

你可以在这里使用c:if没有问题…

我认为需要重新设计,创建组件没有错,只要确保在没有需要的情况下不在组件内部执行繁重的逻辑,或者您可以创建一些控制器bean,它将决定是否需要创建某些组件,
应该这样做。请更清楚地描述具体问题。