pageModel类
public class PageModel {
private int total;
private List<?> list;
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public List<?> getList() {
return list;
}
public void setList(List<?> list) {
this.list = list;
}
}
dao类
public PageModel findOrgs(int parentId, int offset, int pageSize) {
// TODO Auto-generated method stub
String selectCountHql = "select count(*) from Organization org where org.parent is null";
if (parentId != 0) {
selectCountHql = "select count(*) from Organization org where org.parent.id = "
+ parentId;
}
int total = ((Long) this.getSession().createQuery(selectCountHql)
.uniqueResult()).intValue();
// 查询机构列表
String selectHql = "select org from Organization org where org.parent is null";
if (parentId != 0) {
selectHql = "select org from Organization org where org.parent.id = "
+ parentId;
}
List<Organization> list = this.getSession().createQuery(selectHql)
.setFirstResult(offset).setMaxResults(pageSize).list();
PageModel pm = new PageModel();
pm.setTotal(total);
pm.setList(list);
return pm;
}
action
public class OrgAction extends ActionSupport {
private OrganizationDao orgDao;
private int parentId;
private int pageSize;
private int offset;
private PageModel pageModel;
public PageModel getPageModel() {
return pageModel;
}
public void setPageModel(PageModel pageModel) {
this.pageModel = pageModel;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getOffset() {
return offset;
}
public void setOffset(int offset) {
this.offset = offset;
}
public int getParentId() {
return parentId;
}
public void setParentId(int parentId) {
this.parentId = parentId;
}
public OrganizationDao getOrgDao() {
return orgDao;
}
public void setOrgDao(OrganizationDao orgDao) {
this.orgDao = orgDao;
}
public String getOrgByPage() {
HttpServletRequest request = ServletActionContext.getRequest();
if(this.getParentId()==0){this.setParentId(0);}
if(request.getParameter("pager.offset")==null){
offset=0;
}else{
offset=Integer.parseInt(request.getParameter("pager.offset"));
System.out.println("offset:"+offset);
}
this.setPageModel(this.getOrgDao().findOrgs(parentId, offset, pageSize));
return SUCCESS;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("name", "qingqing");
return SUCCESS;
}
}
页面
<body>
<table bordercolor="red" border="1">
<tr>
<td>id</td><td>名称</td><td>描述</td>
</tr>
<s:iterator value="#request.pageModel.list" id="org">
<tr>
<td><s:property value="#org.id"/>
</td><td><a href=""><s:property value="#org.name"/></a></td>
<td><s:property value="#org.description"/></td>
</s:iterator>
</table>
<pg:pager url="orgAction" items="${pageModel.total}" export="currentPageNumber=pageNumber" maxPageItems="10">
<pg:first>
<a href="${pageUrl}">首页</a>
</pg:first>
<pg:prev>
<a href="${pageUrl }">上一页</a>
</pg:prev>
<pg:pages>
<c:choose>
<c:when test="${currentPageNumber eq pageNumber}">
<font color="red">${pageNumber }</font>
</c:when>
<c:otherwise>
<a href="${pageUrl }">${pageNumber }</a>
</c:otherwise>
</c:choose>
</pg:pages>
<pg:next>
<a href="${pageUrl }">下一页</a>
</pg:next>
<pg:last>
<a href="${pageUrl }">尾页</a>
</pg:last>
</pg:pager>
</body>