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

来源:互联网 发布:电信云计算地址 编辑:程序博客网 时间:2024/05/10 03:50

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

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);//把结果集转成BeanListtry {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>

效果图



原创粉丝点击