当前位置:编程学习 > JAVA >>

用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";  
}  
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>  
 
补充:web前端 , JavaScript ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,