1、前台xhtml
===============================
2、backbean
===============================
DAO层
===========================================
===============================================================================
问题现象:
[color=red][b]分页按钮上一页、下一页不可点击[/b][/color]
[img]http://dl2.iteye.com/upload/attachment/0089/0862/993e5ad1-543b-332a-8923-47cdd7505de0.jpg[/img]
===============================
<p:panel id="userList" header="用户列表" width="100%">
<p:dataTable id="dataTable" var="user" value="#{userBean.data}"
paginator="true" paginatorPosition="bottom"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
lazy="true" rows="#{userBean.maxItem}"
rowsPerPageTemplate="5,10,15,50,200" paginatorAlwaysVisible="true"
resizableColumns="false">
<p:column>
<f:facet name="header">
<h:outputText value="账号" />
</f:facet>
<p:commandLink action="#">
<h:outputText value="#{user.accountNum}" />
</p:commandLink>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="姓名" />
</f:facet>
<h:outputText value="#{user.userName}" />
</p:column>
2、backbean
===============================
package com.ecm.view.bean;
import java.io.Serializable;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import org.primefaces.model.LazyDataModel;
import com.ecm.entity.User;
import com.ecm.service.UserService;
import com.ecm.util.BaseException;
@ManagedBean(name="userBean")
@RequestScoped
public class userBean implements Serializable {
/** 序列号ID */
private static final long serialVersionUID = -8029135638641882005L;
private User user;
@ManagedProperty(value="#{userService}")
private UserService userService;
private List<User> userList;
private LazyDataModel<User> lazyModel;
private int first = 0;
private int maxItem = 50;
public userBean() {
user = new User();
}
/**
* 获取表格值
* @return
*/
public LazyDataModel<User> getData(){
[color=red][b]lazyModel = userService.getUserList(first,maxItem);[/b][/color]
return lazyModel;
}
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public LazyDataModel<User> getLazyModel() {
return lazyModel;
}
public void setLazyModel(LazyDataModel<User> lazyModel) {
this.lazyModel = lazyModel;
}
public int getMaxItem() {
return maxItem;
}
public void setMaxItem(int maxItem) {
this.maxItem = maxItem;
}
public int getFirst() {
return first;
}
public void setFirst(int first) {
this.first = first;
}
}
DAO层
===========================================
public LazyDataModel<User> getUserList(int frist,int maxItem) {
final int fristStr = frist;
final int maxItemStr = maxItem;
LazyDataModel<User> lazyModel = new LazyDataModel<User>() {
private static final long serialVersionUID = 1L;
final String hql = "from User user";
@SuppressWarnings("unchecked")
final List<User> userList = (List<User>) getHibernateTemplate()
.execute(new HibernateCallback<Object>() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);
query.setFirstResult(fristStr);
query.setMaxResults(maxItemStr);
return query.list();
}
});
public List<User> load(int first, int pageSize, String sortField,
SortOrder sortOrder, Map<String, String> filters) {
Session session = getHibernateTemplate().getSessionFactory()
.openSession();
Long count = (Long) session.createQuery(
"select count(*) from User user").uniqueResult();
int countNum = ((Number) count).intValue();
this.setRowCount(countNum);
if (countNum > pageSize) {
try {
return userList.subList(first, first + pageSize);
} catch (IndexOutOfBoundsException e) {
return userList.subList(first, first
+ (countNum % pageSize));
}
} else {
return userList;
}
}
};
return lazyModel;
}
===============================================================================
问题现象:
[color=red][b]分页按钮上一页、下一页不可点击[/b][/color]
[img]http://dl2.iteye.com/upload/attachment/0089/0862/993e5ad1-543b-332a-8923-47cdd7505de0.jpg[/img]