繁体   English   中英

每行呈现JSF rich:dataList吗?

[英]JSF rich:dataList rendered per row?

看起来像这样应该可行,但是...?

使用richfaces和JSF,我正在使用rich:dataList遍历一个List ...一切都很好,只是我希望能够选择性地“渲染”每个迭代,这可能吗?

例如:

<rich:dataList value="#{list}" var="item">
   <h:outputText value="#{item.something}" />
</rich:dataList>

我希望能够选择性地呈现输出,例如,如果'item'的某些属性为true或诸如此类。

我试过将outputText包装在outputPanel和类似的东西中,但是如果未呈现输出面板,则仍呈现迭代的“ <li> ”,因此您得到的是一个重点,而不仅仅是跳过整个项目:(

有什么办法解决这个问题还是我SOL? 我知道通常我想事先准备好要显示的项目列表,但是由于许多原因,我不会在这里重复,所以是不可能的。

奇怪的行为。 我试图用战斧的 t:dataList重现它,但是我看到的是完全一样的行为! 最好的办法是将其替换为a4j:repeat并手动呈现纯HTML <li>元素。 就像是:

<ul class="rich-datalist">
    <a4j:repeat value="#{list}" var="item">
        <h:panelGroup rendered="#{item.somecondition}">
            <li class="rich-list-item">
                <h:outputText value="#{item.something}" />
            </li>
        </h:panelGroup>
    </a4j:repeat>
</ul>

(我从这里描述的rich:dataList借用了相同的类名,以便保留外观)

但是,我个人将其标记为错误或至少是不良行为,并将其报告给有问题的组件库后面的男孩。 我已经为战斧做到了

简单。 将呈现的属性添加到h:outputText标记。

<rich:dataList value="#{list}" var="item">
    <h:outputText value="#{item.something}" rendered="#{item.isDisplayed}"/>
</rich:dataList>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM