延迟加载展示primefaces

时间:2014-11-03 08:50:32

标签: java primefaces lazy-loading

我想在我的应用中的数据表中使用延迟加载。我浏览了Primefaces展示网站上的示例:http://www.primefaces.org/showcase/ui/data/datatable/lazy.xhtml。但是我不明白这是一个延迟加载的例子。

应用程序第一次加载页面时,他仍然可以获得200辆汽车。我希望(因为我想在我的应用程序中以这种方式实现延迟加载),当应用程序第一次加载此页面时,他只加载与第一页上的行一样多的条目,然后当用户点击时下一个x条目加载的第二页,依此类推。

由于我有一个潜在的巨大数据表(超过一百万条记录),我显然不想加载一百万条记录,让用户等待5分钟,如果他只需要前20条记录中的内容。

编辑:更糟糕的是,当我使用一个视图组合的弹簧支持bean时,我注意到每次用户切换到另一个页面时他都会加载所有记录。我甚至可以通过这种方式使用没有延迟加载的数据表。

1 个答案:

答案 0 :(得分:0)

这个例子只是为了说明它是如何工作的。由您自己实施该方法:

public List<?> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String,Object> filters)

这是你必须扩展的LazyDataModel类的一部分。

如果您实现此方法的方式是它只获取页面所需的记录(即从firstfirst+pageSize的所有记录),那么您将有适当的延迟加载。展示只是没有可用的数据库实现示例。