如果jsf数据表为空,如何显示消息?

bla*_*ank 29 java jsf

使用JSF1.2,如果我的数据表绑定没有返回任何行,我想显示一条消息.

我怎么做?

而对于额外的积分 - 如果它是空的,我如何完整地隐藏表?

谢谢.

Bal*_*usC 94

利用该rendered属性.它接受一个布尔表达式.您可以借助EL的empty关键字来评估表达式中数据表的值.如果返回false,则不会呈现整个组件(及其子组件).

<h:outputText value="Table is empty!" rendered="#{empty bean.list}" />

<h:dataTable value="#{bean.list}" rendered="#{not empty bean.list}">
    ...
</h:dataTable>
Run Code Online (Sandbox Code Playgroud)

对于您感兴趣的情况,以下是如何在rendered属性中使用EL功能的其他基本示例:

<h:someComponent rendered="#{bean.booleanValue}" />
<h:someComponent rendered="#{bean.intValue gt 10}" />
<h:someComponent rendered="#{bean.objectValue eq null}" />
<h:someComponent rendered="#{bean.stringValue ne 'someValue'}" />
<h:someComponent rendered="#{not empty bean.collectionValue}" />
<h:someComponent rendered="#{not bean.booleanValue and bean.intValue ne 0}" />
<h:someComponent rendered="#{bean.enumValue eq 'ONE' or bean.enumValue eq 'TWO'}" />
Run Code Online (Sandbox Code Playgroud)

也可以看看: