前端框架选型是企业提升开发效率与用户体验的关键因素
992
2022-10-09
使用pager-taglib完成分页,以及对分页的分装
1.分页显示所必须需要知道的两个参数:总记录数和当前页数的返回结果集,所以第一要做的就是对这两个参数的分装,新建一个PagerModel类
public class PagerModel { /** * 总记录数 */ private int total; /** * 当前页结果集 */ private List datas; public List getDatas() { return datas; } public void setDatas(List datas) { this.datas = datas; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; }}
2.之后实现对PagerModel类的分装,新建一个AbstractManager类;
public class AbstractManager extends HibernateDaoSupport { public PagerModel searchPaginated(String hql,int offset,int pagesize){ return searchPaginated(hql,null,offset, pagesize); } public PagerModel searchPaginated(String hql,Object obj,int offset,int pagesize){ return searchPaginated(hql, new Object[]{obj},offset, pagesize); } public PagerModel searchPaginated(String hql,Object[] params,int offset,int pagesize){ String countHql=getCountQuery(hql); Query query=getSession().createQuery(countHql); if(params != null && params.length > 0){ for(int i=0; i 3.在实现类中去继承AbstractManager这个分装类 public class OrgManagerImpl extends AbstractManager implements OrgManager { public PagerModel findOrgs(int parentId,int offset,int pagesize) { //如果parentId=0,则查找顶级机构列表 if(parentId == 0){ return searchPaginated("from Orgnization o where o.parent is null",offset,pagesize); } return searchPaginated("from Orgnization o where o.parent.id = ?", parentId,offset,pagesize); }} 4.在action类中获得参数之后,将参数传入到jsp页面 public class OrgAction extends DispatchAction { @Override protected ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { OrgActionForm oaf = (OrgActionForm)form; int offset = 0; try { offset = Integer.parseInt(request.getParameter("pager.offset")); } catch (Exception ignore) { } int pagesize = 10; request.setAttribute("pm", orgManager.findOrgs(oaf.getParentId(),offset,pagesize) ); // int ppid = 0; if(oaf.getParentId() != 0){ Orgnization org = orgManager.findOrg(oaf.getParentId()); Orgnization parent = org.getParent(); if(parent != null){ ppid = parent.getId(); } } request.setAttribute("ppid", ppid); return mapping.findForward("index"); }} 5.在jsp页面中使用pager-taglib插件完成分页,以下是分页显示代码
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~