1

<span>Lorem Ipsum</span>如果 backing-bean 值为空,我想显示。

<h:outputText rendered="#{not empty pubController.location}">
    <span>Lorem Ipsum</span>
</h:outputText>

Lorem Ipsum 永远不会显示。显然,如果我在我的情况下删除 NOT,它也不起作用。

仅供参考:在我运行 h:outputText 之前,我只是打印布尔语句。它打印的正是我所期望的。对于不为空的值,则为真。此外,渲染条件也适用于我所期望的 h:form 标记。看起来 h:outputText 在这种情况下不合适,是吗?

有没有比使用 h:outputText 更好的方法来做我想做的事情?

4

1 回答 1

5

这不起作用,因为h:outputText不接受文档中所述的子元素:

如果此元素有子元素,则默认情况下必须忽略它们。实现可以提供允许此元素呈现其子元素的配置选项。

尝试使用以下代码应该可以解决您的问题:

<h:outputText value="Lorem Ipsum" rendered="#{not empty pubController.location}"/>

请注意,您还可以执行以下操作:

<h:panelGroup rendered="#{not empty pubController.location}">
    <span>Lorem Ipsum</span>
</h:panelGroup>

span如果您需要显示比简单元素更复杂的结构,这将很有用。

于 2013-08-13T10:59:59.787 回答