在数据表中使用PrimaFace Lazyloading

时间:2016-06-30 08:28:56

标签: java mysql hibernate datatable lazy-loading

我使用Hibernate从数据库中获取数据。我在我的程序中的数据表中显示数据 现在我必须使用延迟加载Primaface Datatable显示数据

我不知道如何更改我的Code.I搜索互联网,我还是找不到。 (我想要在Datatable中显示延迟加载的List testList)

感谢

XHTML文件:

<p:dataTable var="test" value="#{testMB.testList}" id="testTable"width="100%" liveResize="true">

ManagedBean文件

private List<TestDTO> testList = new ArrayList<TestDTO>();
public List<TestDTO> getTestList() {
    return logList;
}
public void setTestList(final List<TestDTO> pTestList) {
    testist = pTestList;
}

TestDTO课程

公共类TestDTO实现Serializable {

private static final long serialVersionUID = XXXXXXXXXXXXXXL;

private String XXXXXXXX;
private Date XXXXXXXX;
private String XXXXXXXX;
private Long XXXXXXXX;
private Long XXXXXXXX;
private Long XXXXXXXX;
private String XXXXXXXX;
private String XXXXXXXX;
........

1 个答案:

答案 0 :(得分:0)

您必须为延迟加载实现LazyDataModel类而不是使用普通的ArrayList,并且应该在数据表中将lazy设置为true。

$result="";
for($i = $start; $i <= $end; $i++){
    $result .= ($i==$end) ? $i : ($i.'+');
    $sum += $i;
}

您可以考虑启用paginator以及它用于延迟加载的目的。

更多信息:http://www.primefaces.org/showcase/ui/data/datatable/lazy.xhtml

LazyDataModel类的示例。

<p:dataTable var="test" value="#{testMB.testList}" id="testTable"width="100%" liveResize="true" lazy="true">