什么是使用LazyDataModel方法刷新后续页面(第二页、第三页等)的Primefaces dataTable数据的方法?
另外,如果我在dataTable中选择一个项目以查看其详细信息并跳转到另一页,然后通过浏览器的“后退”按钮或实现JavaScript的history.back()方法返回到dataTable页面时,似乎dataTable总是将其位置重置为第一页,而不是返回到用户所在的页面。如何强制dataTable保留在最后查看的页面?
我的懒加载代码如下:
另外,如果我在dataTable中选择一个项目以查看其详细信息并跳转到另一页,然后通过浏览器的“后退”按钮或实现JavaScript的history.back()方法返回到dataTable页面时,似乎dataTable总是将其位置重置为第一页,而不是返回到用户所在的页面。如何强制dataTable保留在最后查看的页面?
我的懒加载代码如下:
private final class LazyLoader extends LazyDataModel<BookModel>
{
private static final long serialVersionUID = 1L;
public LazyLoader(String sort, String category, String operator, String input) {
setListing(getBookService().getListing(sort, category, operator, input));
}
@Override
public List<BookModel> load(int first, int pageSize, String sortField, boolean sortOrder, Map<String, String> filters) {
return getListing();
}
}
Submit
方法的定义如下:
public String Submit()
{
sort = sortBean.getSort();
category = categoryBean.getCategory();
operator = operatorBean.getOperator();
input = searchBean.getInput();
lazyModel = new LazyLoader(sort, category, operator, input);
lazyModel.setRowCount(listing.size());
return null;
}
我正在使用@ViewScoped
来列出书籍记录以及显示书籍记录的详细信息。
有人在使用Primefaces dataTable时遇到类似的问题吗?
@ViewScoped
已经足够了。好的,我会尝试请求参数方法并审查我的LazyLoader
方法。 - ChuongPham@ViewScoped
解决了我的问题。然而,我后来转向了OmniFaces
,因为它的支持和Java库比PrimeFaces
更好。 - user4750643