Jsf 数据表标题在页面加载期间可见,即使没有要显示的数据
我正在使用Spring、JSF和Hibernate开发一个应用程序,遵循中的示例Jsf 数据表标题在页面加载期间可见,即使没有要显示的数据,jsf,datatable,Jsf,Datatable,我正在使用Spring、JSF和Hibernate开发一个应用程序,遵循中的示例 当我在数据库中填充一些值的情况下运行此代码时,这应该包含datatable头名称以及检索到的所有行。但是当数据库中没有值并且我运行代码时,这不应该显示datatable头名称。只有当从数据库检索到某些值时,才应显示datatable标头名称,而不是在启动期间。如何执行此操作?向托管bean添加一个integer属性,该属性获取列表的大小 private int sizeOfTable; public int ge
当我在数据库中填充一些值的情况下运行此代码时,这应该包含datatable头名称以及检索到的所有行。但是当数据库中没有值并且我运行代码时,这不应该显示datatable头名称。只有当从数据库检索到某些值时,才应显示datatable标头名称,而不是在启动期间。如何执行此操作?向托管bean添加一个
integer
属性,该属性获取列表的大小
private int sizeOfTable;
public int getSizeOfTable()
{
return customerBo.findAllCustomer().size();
}
public int setSizeOfTable(int sizeOfTable(int sizeOfTable)
{
this.sizeOfTable = sizeOfTable;
}
您可以通过rendered
属性控制数据表
<h:dataTable value="#{customer.getCustomerList()}" var="c" rendered="#{customer.sizeOfTable == 0}"
styleClass="order-table"
headerClass="order-table-header"
rowClasses="order-table-odd-row,order-table-even-row"
>
您应该相应地编辑“大小”属性
public int getSizeOfTable()
{
return customerList.size();
}
只需让
的rendered
属性检查数据模型是否为空
<h:dataTable value="#{customer.customerList}" ... rendered="#{not empty customer.customerList}">
不需要像另一个答案所建议的那样,用不相关的属性来扰乱模型
另见:
<h:dataTable value="#{customer.customerList}" ... rendered="#{not empty customer.customerList}">