以下是在前两天一个项目中的分页功能截取。
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";
}
JSP文件
[html]
<div class="content">
<c:forEach items="${allblogs}" var="allblog">
<div class="blog_list">
<h1><a href="#" class="category">[${allblog.topic}]</a>
<a name="11519817" href="Blog_getContent.action?id=${allblog.id}" target="_blank">${allblog.title}</a></h1>
<dl>
<dt><a href="#"><img src="img/oyuntaolianwu.jpg" alt="jackyvincefu"></a></dt>
<dd><div class="text_length"><pre>${allblog.content }</pre></div></dd></dl>
<p><div class="lable">
<a class="tag" href="#">C++</a><a class="tag" href="#" target="_blank">指针常量</a>
<a class="tag" href="#">常量指针</a><a class="tag" href="#" target="_blank">常量指针常量</a></div></p>
<div class="about_info">
<div align="left"><span class="fl">
<table width="535" border="0">
<tr>
<td width="254"><a href="#" target="_blank" class="user_name"><font size="-1">${allblog.writer}</font></a>
<a href="Blog_getContent.action?id=${allblog.id}" target="_blank" class="view"><font size="-1">阅读(${allblog.reader})</font></a>
<a href="Blog_getContent.action?id=${allblog.id}#lookcomment" target="_blank" class="comment"><font size="-1">评论(${allblog.discuss})</font></a></td>
<td width="271" align="right"><span class="time"><font size="-1">${allblog.time}</font></span></td>
</tr></table></span></div>
</div>
</div>
</c:forEach>
</div>
<div class="page_nav">
<span> ${num_allblog}条数据 共${num_allblogpage}页 </span>
<c:forEach begin="1" end="${num_allblogpage}" var="pagenum">
[<a href="Blog_alllist.action?pagenum=${pagenum}">${pagenum}</a>]
</c:forEach>
<a href="Blog_alllist.action?pagenum=${pagenum+1}"> 下一页 </a>
<a href="Blog_alllist.action?pagenum=${num_allblogpage}"> 尾页</a> </div>
</div>