【发布时间】:2013-07-10 18:18:24
【问题描述】:
在我的问题中,我必须根据条件显示h:panelGroup。对于这个h:panelGroup,rendered 属性已经设置好了。
<h:panelGroup rendered="#{not empty program.categories}">
<li>
<strong>Category: </strong>
<h:outputLabel value="#{not empty program.categories ? 'A':'N/A'}"/>
</li>
</h:panelGroup>
现在我正在尝试保持如下代码所示的条件:
<c:if test="${program.distTypeName != 'X' || program.distTypeName != 'Y' || program.distTypeName != 'Z'}">
<h:panelGroup rendered="#{not empty program.categories}">
<li>
<strong>Category: </strong>
<h:outputLabel value="#{not empty program.categories ? 'A':'N/A'}" />
</li>
</h:panelGroup>
但这不起作用。请告诉我我做错了什么。基本上,如果disType 不在 x,y,z 中,那么我需要显示h:panelGroup。
我们如何使用 jstl 标签测试not in 条件?
提前致谢。
【问题讨论】:
-
这个link 会帮助你。
-
但是如何在我的场景中使用渲染属性..
不起作用..我应该只检查这个 h:panelGroup..而不是整个表单的条件。请提出建议。 -
将
<c:if>条件移动到<h:panelGroup>的rendered属性内 -
如果
distTypeName是一个枚举或字符串,那么到目前为止发布的代码在考虑独立时是完全合法的(例如,当这是<h:body>的唯一内容时)。代码实际上不是在<ui:repeat>或<h:dataTable>左右吗?如果是这样,那么这个问题重复了stackoverflow.com/questions/3442380/… 请在您以后的问题中考虑到这一点(到目前为止发布的代码在解释为<h:body>的唯一内容时应该会重现该问题)。另见stackoverflow.com/tags/jsf/info