问题描述
- 下边这段代码,是通过什么实现分页的?求大神给逐句讲解下呗~~万分感激
-
下边这段代码,是通过什么实现分页的?求大神给逐句讲解下呗~~万分感激
action:public String getList() throws Exception { // 分页 Map paraMap = new HashMap(); paraMap.put("userId", super.getUser().getId()); paraMap.put("iframeId", super.getIframeId()); super.setPager(paraMap, 20); trainingOrCompetitionList = dao.getList(super.getUser().getId(), super.getPager()); return SUCCESS; }
setPager:
public void setPager(Map paraMap, int onePagerSize) { if (this.pager == null) { this.pager = PagerCommon.reqForPage(request); this.pager.setParaMap(paraMap); if (onePagerSize != 0) { this.pager.setPageSize(onePagerSize); } } else { this.pager.setParaMap(paraMap); } }
解决方案
getList()
1. 初始化一个Map对象paraMap
2. 往Map对象paraMap中插入一条数据,键为userId,如下方法取值:先找到父类的getUser()方法,返回一个User对象,再调用User类中的getId()方法,得到该User对象的Id值
3. 往Map对象paraMap中插入一条数据,键为iframeId,调用父类的getIframeId方法,获取iframeId值
4. 调用父类的setPager方法,将paraMap和20作为参数传入其中
5. 调用Dao层的getList方法得到trainingOrCompetitionList,其中传入userId和pager参数
setPager,有两个参数paraMap和onePagerSize
1. 如果本类中的pager属性没有初始化
2. 调用PagerCommon.reqForPage方法初始化pager,传入request参数
3. 将设置pager的paraMap属性,传入paraMap参数
4. 如果onePagerSize不为0(单页的大小)
5. 如果本类的pager已经初始化
6. 设置pager的paraMap属性,传入paraMap参数
时间: 2024-10-28 09:28:26