【问题标题】:primefaces, how to conditionally render a component without creating itprimefaces,如何在不创建组件的情况下有条件地渲染组件
【发布时间】:2012-11-14 14:02:26
【问题描述】:

我使用 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>

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

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

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

【问题讨论】:

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

标签: jsf primefaces rendering


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-15
    • 2022-01-19
    • 2020-08-18
    • 2022-07-23
    • 2020-03-01
    • 2021-09-22
    • 2018-09-13
    • 2019-02-18
    相关资源
    最近更新 更多