【用Struts2实现列表显示和分页功能】
以下是在前两天一个项目中的分页功能截取。
BlogDAO.java文件
[java]
/** 根据条件(默认一张表所有数据)返回多条记录 */
public List<Blog> list(String kw,Integer pageCur,Integer pageSize) {
List<Blog> list = null;
Integer limitaInteger = (pageCur-1)*pageSize;
Integer limitbInteger = pageCur*pageSize;
Object[] params = {limitaInteger,limitbInteger};//代入的参数列表
String sqlWhere = "";
String sql = "select * from csdn_blog where first=1 ";
if(kw!=null && !kw.equals("")) {
sqlWhere = " and topic like '%"+kw+"%'";
}
sql += sqlWhere;
sql += " order by id desc limit ?,?";
ResultSetHandler<List<Blog》 rsh = new BeanListHandler<Blog>(Blog.class);//把结果集转成BeanList
try {
list = qr.query(getConn(), sql, rsh, params); //调用查询接口的查询函数
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
BlogActin.java文件
[java]
private Integer pagenum;//页码
[java] view plaincopy
private List<Blog> allblogs;
并提供set get 方法
[java]
public List<Blog> getAllblogs() {
return allblogs;
}
public void setAllblogs(List<Blog> allblogs) {
this.allblogs = allblogs;
}
[java]
public Integer getPagenum() {
return pagenum;
}
public void setPagenum(Integer pagenum) {
this.pagenum = pagenum;
}
列表方法
[java]
/** 显示博客列表信息 */
public String alllist() {
request=ServletActionContext.getRequest();
blogtopic=request.getParameter("blogtopic");
allblogs=blogDAO.list(blogtopic, pagenum, 10);
num_allblog=blogDAO.countAllNum(blogtopic);
num_allblogpage=num_allblog/10+1;
return "index";
}