当前位置: 首页 > 面试题库 >

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

阴英武
2023-03-14
问题内容

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

我怎么做?

还有一些要点-如果表为空,如何完全隐藏表?

谢谢。


问题答案:

利用该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>

对于您感兴趣的情况,以下是一些其他基本示例,说明如何利用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 EE 7教程 - 表达式语言 - 运算符


 类似资料:
  • 问题内容: 假设我有时从服务器获取空数据,我想在DataTables中显示No Data found消息。这怎么可能? 问题答案: 如果要自定义在空表上显示的消息,请使用以下命令: 从Datatable 1.10开始,您可以执行以下操作: 有关表的 完整 可用数据表的 定制消息 ,请查看以下链接参考/选项/语言

  • 问题内容: 以下AngularJS应用程序正在使用ng-repeat和已应用的过滤器。某个应用的过滤器不会留下任何值。如何显示通知? js小提琴 的HTML AngularJS 问题答案: 我认为这是您想要的: 链接 这是另一个FIDDLE LINK,请检查此

  • 如果值为空,则需要在单元格中显示一个不间断的空格。这是我的模板: 我试过这个,但不管用: 它返回值的问题是: 如果许可证号带有值,则单元格为空,行颜色如下所示。 利用卢库马的建议,它表明了这一点: 更改筛选器中的if语句后,仍然不显示非值:

  • 在 Angular 4 中,我正在尝试迭代一个程序数组。并且还添加了搜索管道。如果未找到搜索,我想显示一条消息。 我该如何处理这个问题? 这是 ngFor 我知道我不能同时使用ngIf和ngFor。有什么方法可以让我使用ngIfElse吗?如果没有找到搜索,则显示一条消息?

  • SQL Server 2008 SQL查询显示IP地址(如果存在) 输出 IP_ADDR1_TEXT是 列强制转换(IP_ADDR1<0则0xFFFFFFFFF+IP_ADDR1否则IP_ADDR1 END/256/256/256&0xFF为VARCHAR)+“.”+强制转换(IP_ADDR1<0则0xFFFFFFFF+IP_ADDR1否则IP_ADDR1结束/256/256和0xFF为VARCH

  • 我有这个代码,$vatValidator验证增值税编号。$validator验证其他请求数据。 例如,如果用户不为名称字段插入值,则会出现验证错误: {success:false,…}错误:{name:[“填充所有字段”。]}成功:false 但是,如果用户为vat插入无效值,则不会出现验证消息,因为在响应中错误为空: 您知道当增值税号码不正确时如何显示消息吗?类似“vat无效”的消息。 完整方法