Jsf 获取<;p:dataScroller>;豆荚
如何在我的支持bean中获得Jsf 获取<;p:dataScroller>;豆荚,jsf,primefaces,datascroller,Jsf,Primefaces,Datascroller,如何在我的支持bean中获得的以下属性 页面索引(我在分页中的哪个页面上) 页数 页面索引 第一行索引 最后一行索引 我尝试了组件绑定,但是一切都返回null有很多问题,但是如果你想要这些属性,你必须间接地获取它们,因为如果你不使用lazyDataModel,dataScroller会一次获取所有数据,然后做自己的事情,永远不会调用managedBean 使用惰性负载模型。您必须快速实现org.primefaces.model.LazyDataModel,但它只有大约20行代码。在managed
的以下属性
null
有很多问题,但是如果你想要这些属性,你必须间接地获取它们,因为如果你不使用lazyDataModel,dataScroller会一次获取所有数据,然后做自己的事情,永远不会调用managedBean
使用惰性负载模型。您必须快速实现org.primefaces.model.LazyDataModel
,但它只有大约20行代码。在managedBean上创建一个方法,返回请求的子列表;在这个托管bean中,您将获取所需的值
import java.util.List;
import java.util.Map;
import org.primefaces.model.LazyDataModel;
import org.primefaces.model.SortOrder;
class MsgLogLazyModel extends LazyDataModel<YourPojo> {
private static final long serialVersionUID = 1L;
private ManagedBean mb;
public MsgLogLazyModel(ManagedBean mb) {
this.mb = mb;
}
@Override
public List<YourPojo> load(int first, int pageSize, String sortField,
SortOrder sortOrder,
Map<String, Object> filters) {
return mb.loadItens(first, pageSize, sortOrder, filters);
}
}
import java.util.List;
导入java.util.Map;
导入org.primefaces.model.LazyDataModel;
导入org.primefaces.model.SortOrder;
类msglogalazymodel扩展了LazyDataModel{
私有静态最终长serialVersionUID=1L;
私有ManagedBean mb;
公共MsgLogLazyModel(ManagedBean mb){
this.mb=mb;
}
@凌驾
公共列表加载(int first,int pageSize,String sortField,
SortOrder SortOrder,
地图过滤器){
返回mb.loadItens(第一,页面大小,排序器,过滤器);
}
}
YourPojo应该是要传递到dataScroller进行显示的对象
假设必须显示的项目存储在MB属性中
private List<YourPojo> myList;
私有列表myList;
现在在mb.loadItens()
上,您将捕获:
intpageindex=first/pageSize代码>
页数
//您必须对此进行汇总,因为最后一页的iten小于pageSize
intpagecount=(int)Math.ceil(myList.size()/newdouble(pageSize))代码>
页面索引
你在重复你自己
第一行索引
我假设您希望返回块的第一行。这是第一个
参数。由于dataScroller没有分页功能
最后一行索引
//可能列表已经结束。所以我们走安全的道路…
int lastRow=Math.min(myList.size(),first+pageSize)
是关于普通JSF的吗?它是由它的一个组件库提供的。如果需要,也可以延迟加载。datascroller是一个组件,不存在于普通jsf中,如果您不想使用组件库,您必须使用普通html、jquery ui组件等开发自己的组件,并将其与jsf生命周期集成。最后,您必须维护一个组件“库”。您需要澄清您使用的是哪个datascroller。Richfaces和Primefaces提供类似的名称components@kolossus:primefaces dataScroller组件。滚动器组件由org.primefaces.component.dataScroller.dataScroller
支持,因此您将首先将dataScroller元素绑定到支持bean中的实例。你们正在寻找的很多东西都不是现成的,所以你们需要有创意