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

标签 java jsf

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

我该怎么做?

另外,如果表格是空的,如何完全隐藏表格?

谢谢。

最佳答案

利用 rendered 属性。它接受一个 boolean 表达式。您可以借助 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>

对于您感兴趣的情况,以下是如何利用 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'}" />

另见:

关于java - 如果 jsf 数据表为空,如何显示消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1985718/

相关文章:

java - org.hibernate.SessionFactory 的 getAllClassMetadata() 实例方法上未经检查的泛型使用警告

java - 当在运行时获取枚举时,使用枚举类中的方法

java - RichFaces 3.3 : Calling actionListener on window. 加载

jsf - 查看范围: java. io.NotSerializedException : javax. faces.component.html.HtmlInputText

jsf - 使用命令按钮的 Ajax

Java正则表达式获取括号之间的值

java - 在android中的Listener中获取值

java - XML 文件出错 - Android(解析 XML 时出错 : not well-formed (invalid token))

javascript - <p :selectCheckboxMenu is not fired when selecting all 中的 onchange 事件

css - 无法删除打印特定 div 时添加的额外空白页