Struts2分页(改进版)————封装Page类

来源:互联网 发布:酷乐视s3装软件 编辑:程序博客网 时间:2024/05/02 01:36

前几天在做网站的时候,好好的弄了个《Struts2的分页》,发表后,

网友 lumiing回 复了:

“不知道博 主做几年开发了,在分页业务中竟然使用了request.个人认为这样的话使用mvc就没有任何实际意义了“

在这里感谢你的建议。

鉴于网友的建议,我将page类封装了,这样会不会体现的更MVC点呢?

其实很简单,正如 lumiing所提的意见,把原本代码中和request耦合的值封装进入Page类:

package com.rctraffic110.model;  import com.rctraffic110.model.Article; import java.util.ArrayList;  public class Page {      public ArrayList<Article>       articleList;    //该页的文章集合     public int                      pageSize;       //每页显示的条数     public int                      pageNow;        //当前页码     public int                      totalNum;       //所有记录数     public int                      totallPage;     //总页数     public ArrayList<Article> getArticleList() {         return articleList;     }     public void setArticleList(ArrayList<Article> articleList) {         this.articleList = articleList;     }     public int getPageSize() {         return pageSize;     }     public void setPageSize(int pageSize) {         this.pageSize = pageSize;     }     public int getPageNow() {         return pageNow;     }     public void setPageNow(int pageNow) {         this.pageNow = pageNow;     }     public int getTotalNum() {         return totalNum;     }     public void setTotalNum(int totalNum) {         this.totalNum = totalNum;     }     public int getTotallPage() {         return totallPage;     }     public void setTotallPage(int totallPage) {         this.totallPage = totallPage;     } } 

然后修改分页业务:
先实例一个Page对象:

/*  * 分页显示所有该类别的文章  * @param cno 类别编号                      如何是个个位数数字,如:1 那么说明是要找到通知通报下的所有文章,包括 11市局通告和 12大队通告  * @param pageSize 每页的大小  * @param pageNow  当前页码  * @return page 返回一个page类的对象  */ public Page queryByCnoPaging(String cno, int pageSize, int pageNow){  Page page  = new Page();


然后把原来放入request中的对象放入page对象中:

//把一些放入这个page类对象中去 page.setTotalNum(rs.getInt("totalNum" )     ); page.setTotallPage(_totallPage              ); page.setPageSize(pageSize                   ); page.setPageNow(pageNow                     );


把文章放入page对象,并返回page对象

//把该页的文章集合放入 page.setArticleList(_articleList ); return page;


略微的修改下action

/*  * 分页显示新闻列表  */ public String queryByCnoPaging() {     ArticleService articleService = new ArticleService();     this.page =  articleService.queryByCnoPaging(this.getCno(),                                                   this.getPageSize(),                                                   this.getPageNow());     return SUCCESS ; } 


最后,修改页面.
 
ok.










0 0
原创粉丝点击