如果支持bean值为 NOT 为空,我想显示<span>Lorem Ipsum</span>
。
<h:outputText rendered="#{not empty pubController.location}">
<span>Lorem Ipsum</span>
</h:outputText>
Lorem Ipsum永远不会显示。显然,如果我在我的状态下移除NOT,它也不起作用。
仅供参考:在运行h:outputText之前,我只需打印布尔语句。它打印正是我期望的。对于非空的值,为真。此外,渲染条件也适用于h:form标记,正如我所期望的那样。看起来h:outputText在这种情况下是不合适的,不是吗?
有没有比使用h:outputText更好的方法来做我想做的事情?
答案 0 :(得分:5)
这不起作用,因为h:outputText
不接受documentation中所述的子元素:
如果此元素具有子元素,则默认情况下必须忽略它们。 实现可以提供允许这样做的配置选项 元素来渲染它的孩子。
尝试使用以下代码可以解决您的问题:
<h:outputText value="Lorem Ipsum" rendered="#{not empty pubController.location}"/>
请注意,您还可以执行以下操作:
<h:panelGroup rendered="#{not empty pubController.location}">
<span>Lorem Ipsum</span>
</h:panelGroup>
如果您需要显示比简单span
元素更复杂的结构,那将非常有用。