第一步 新建Web项目,搭建好项目环境,将相关依赖的包加入到项目里,使用的服务器为JBoss7
第二步 页面代码
<p:outputPanel id="updteTabelUser">
<p:dataTable var="user" value="#{userBean.lazyModel}" id="userTable"
paginator="true" rows="10" lazy="true" paginatorPosition="bottom"
paginatorTemplate=" {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {CurrentPageReport}"
currentPageReportTemplate="{currentPage}/{totalPages}"
emptyMessage="#{msgs.empty_data_msg}" selectionMode="single">
<f:facet name="header">
用户列表
</f:facet>
<p:column headerText="用户名">
<h:outputText value="#{user.name}" />
</p:column>
<p:column headerText="姓名">
<h:outputText value="#{user.userName}" />
</p:column>
<p:column headerText="手机">
<h:outputText value="#{user.cellphoneNo}" />
</p:column>
<p:column headerText="收购点">
<h:outputText value="#{user.purchaseLocName}" />
</p:column>
<p:column headerText="操作" styleClass="operating_90">
<p:commandButton rendered="#{loginBean.contains('02')}" update="carDetail"
image="ui-icon ui-icon-zoomin" oncomplete="singleCarDialog.show()"
title="查看">
<f:setPropertyActionListener value="#{user}"
target="#{userBean.currentUser}" />
</p:commandButton>
<p:commandButton ajax="false"
image="ui-icon ui-icon-person" title="角色设置" rendered="#{loginBean.contains('03')}"
action="#{userBean.roleSet}">
<f:setPropertyActionListener value="#{user}"
target="#{userBean.currentUser}" />
</p:commandButton>
<p:commandButton image="ui-icon ui-icon-org" title="组织分配" rendered="#{loginBean.contains('04')}"
action="#{userOrgBean.input}" ajax="false" >
<f:setPropertyActionListener value="#{user}"
target="#{userBean.currentUser}" />
</p:commandButton>
</p:column>
</p:dataTable>
</p:outputPanel>
p:dataTable 标签相关属性请参照Primeface文档,若没有文档可以发邮件给我
第三步 后台Bean代码
@Named
@ConversationScoped
public class UserBean{
/** 数据模型 */
private LazyDataModel<User> lazyModel;
@Inject
private EntityService entityService;
@PostConstruct
private void initLazyModel(){
String sql = "select u form User u' ;
lazyModel = this.entityService.findModel(sql.toString());
}
/**
* @return the lazyModel
*/
public LazyDataModel<User> getLazyModel() {
return lazyModel;
}
/**
* @param lazyModel
* the lazyModel to set
*/
public void setLazyModel(LazyDataModel<User> lazyModel) {
this.lazyModel = lazyModel;
}
}
主要逻辑代码EntityService对LaydataModel的封装具体实现
public <T> LazyDataModel<T> findModel(final String jpql, final Object... values) {
LazyDataModel<T> lazyModel = new LazyDataModel<T>() {
@Override
public List<T> load(int first, int pageSize, String sortField, boolean sortOrder, Map<String, String> mapFilters) {
// 得到总记录数
Integer count = Long.valueOf(countHqlResult(jpql, values)).intValue();
this.setRowCount(count);
// 得到查询结果
Query q = createQuery(jpql, values);
setPageParameterToQuery(q, first, pageSize);
List result = q.getResultList();
return result;
}
};
lazyModel.setRowCount(1);
return lazyModel;
}
countHqlResult方法主要用户查询结果,可以根据自己需要进行封装,使用LazyDataModel分页最主要的就是
实现其load方法
分享到:
相关推荐
JSF2和RICHFACES4使用指南
JSF入门详细资料(PDF),包括JSF入门中文版,JSF Web应用实战开发,以及JSF2,JSF入门必配学习资料
JSF2和RICHFASES4使用指南,JSF(Java Server Faces)是JCP标准化组织通过的Web应用开发标准框架,RichFaces是RedHat公司的JBoss社区开发的一套基于JSF的UI组件库,支持异步请求功能
自己整理的jsf+primeface学习资料和开发案例
JSF2 richfaces 中文文档
浅剖数据jsf格式数据转换为segy数据,可以实现数据转换,以至于在其他软件上处理数据
jboss seam 和jsf2 开发好书
JSF入门教程 JSF标签 JSF的LIB Ajax4JSF使用手册 JSF项目的创建 包你入门
主要介绍jsf2的技术 ,介绍各种标签的使用,及jsf2组件的自定义,ajax技术与jsf2的集成
该范例为JSF2基础范例工程,分10类.适合初学者学习。 在weblogic9 tomcat5-7 JDK1.5测试通过 weblogic9和tomcat5需要el.jar支持,已经在文件夹中标明,只需放入lib目录下即可 需要注意的是weblogic9和tomcat5支持的...
jsf2+spring sample
JSF的学习入门知识教程,里面有例子还有各个标签的使用及属性介绍
JSF分页组件2,JSF分页组件2
Beginning JSF 2 APIs and JBoss? Seam You’ll learn to create and enhance an eShop using practical methods, and can repurpose the template for your own personal and professional projects. What you’...
包中包括jsf-api.jar 和jsf-impl.jar两个JSF 2的参考实现
2、Java Server Faces (JSF) Java Server Faces (JSF) JSF是一种用于构建Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。它提供了一种以组件为中心的用户界面(UI)构建方法,从而...
jsf2 richfaces4.2.3 jar 整合
最近自己看了下jsf2,资料少的蛋疼,有什么问题搜来的永远就那么几篇帖子,次噢,就自己写了个demo,就一登录,数据库自己看SqlMapConfig.xml,还有不少问题,难学在于资料少,大神都不活跃啊,问什么都没人理。...
书中提供了在JSF2中使用Ajax的许多实例的技巧
jsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSFjsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSF