【Struts2】用Struts2实现列表显示和分页功能

以下是在前两天一个项目中的分页功能截取。

BlogDAO.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文件

private Integer pagenum;//页码
	private List<Blog> allblogs;
并提供set  get 方法
	public List<Blog> getAllblogs() {
		return allblogs;
	}
	public void setAllblogs(List<Blog> allblogs) {
		this.allblogs = allblogs;
	}
	public Integer getPagenum() {
		return pagenum;
	}
	public void setPagenum(Integer pagenum) {
		this.pagenum = pagenum;
	}
列表方法
	/** 显示博客列表信息 */ 
	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文件

<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>

效果图

【Struts2】用Struts2实现列表显示和分页功能_第1张图片

你可能感兴趣的:(struts2,分页,博客,列表)