引用自http://www.2cto.com/kf/201309/243730.html

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实现列表显示和分页功能的更多相关文章

  1. hibernate和struts2实现分页功能

    1.DAO层接口的设计,定义一个PersonDAO接口,里面声明了两个方法: public interface PersonDAO { public List<Person> queryB ...

  2. struts2+spring+hibernate 实现分页

    在这里要感谢下这位博友发表的博文 http://www.blogjava.net/rongxh7/archive/2008/11/29/243456.html 通过对他代码的阅读,从而自己实现了网页分 ...

  3. 简单封装分页功能pageView.js

    分页是一个很简单,通用的功能.作为一个有经验的前端开发人员,有义务把代码中类似这样公共的基础性的东西抽象出来,一来是改善代码的整体质量,更重要的是为了将来做类似的功能或者类似的项目,能减少不必要的重复 ...

  4. php对文本文件进行分页功能简单实现

    php对文本文件进行分页功能简单实现 <!DOCTYPE> <html> <head> <meta http-equiv="Content-type ...

  5. Asp.net MVC3表格共用分页功能

    在建立的mvc3项目中,在Razor(CSHTML)视图引擎下,数据会在表格中自动的生成,但分页没有好的控件实现,这里我们开发了设计了一个分页的模板,适合于没有数据提交和有数据提交的分页的分页. 第一 ...

  6. WinForm DataGridView分页功能

    WinForm 里面的DataGridView不像WebForm里面的GridView那样有自带的分页功能,需要自己写代码来实现分页,效果如下图: 分页控件  .CS: 1 using System; ...

  7. Net 分页功能的实现

    首先写一个接口   1 2 3 4 5 6 public interface IPagedList     {         int CurrentPageIndex { get; set; }   ...

  8. 自己封装的JS分页功能[用于搭配后台使用]

    * 2016.7.03 修复bug,优化代码逻辑 * 2016.5.25 修复如果找不到目标对象的错误抛出. * 2016.5.11 修复当实际页数(pageNumber)小于生成的页码间隔数时的bu ...

  9. 一行代码调用实现带字段选取+条件判断+排序+分页功能的增强ORM框架

    问题:3行代码 PDF.NET是一个开源的数据开发框架,它的特点是简单.轻量.快速,易上手,而且是一个注释完善的国产开发框架,受到不少朋友的欢迎,也在我们公司的项目中多次使用.但是,PDF.NET比起 ...

随机推荐

  1. 运行安装mysql 报错 [root@localhost mysql-mult]# ./scripts/mysql_install_db  --defaults-file=conf/3306my.cnf FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_

    运行安装mysql 报错 [root@localhost mysql-mult]# ./scripts/mysql_install_db  --defaults-file=conf/3306my.cn ...

  2. 七:MyBatis学习总结(七)——Mybatis缓存

    ---恢复内容开始--- 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地 ...

  3. leetcode-166-分数到小数(用余数判断有没有出现小数的循环体)

    题目描述:   给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数. 如果小数部分为循环小数,则将循环的部分括在括号内. 示例 1: 输入: n ...

  4. (转)AIX光盘备份与恢复

    AIX光盘备份与恢复 在此之前,说明一下光盘映像的格式UDF和ISO9660 ISO9660: 这是国际标准化组织(ISO)于1985年颁布的通用光盘文件系统.目前使用最广泛的光盘文件系统,能被所有的 ...

  5. 【Java并发编程】:volatile变量修饰符

    volatile用处说明     在JDK1.2之前,java的内存模型实现总是从主存(即共享内存)读取变量,是不需要进行特别的注意的.而随着JVM的成熟和优化,现在在多线程环境下volatile关键 ...

  6. rabbitmq实现一台服务器同时给指定部分的consumer发送消息(tp框架)(第六篇)

    previous article:  http://www.cnblogs.com/spicy/p/7989717.html 上一篇学习了,发送消息的时候用direct类型的exchange,绑定不同 ...

  7. Python 基础语法——数字和表达式(包含数学上的一些函数)

    >>> 2+2 4 >>> 1/2 0 >>> 1.0/2.0 0.5 >>> 1/2.0 0.5 >>> 1 ...

  8. Javac语法糖之Enum类

    枚举类在Javac中是被当作类来看待的. An enum type is implicitly final unless it contains at least one enum constant ...

  9. 关于作用域范围Scope

    举个例子,如下: public class C { public int a = 2; public void test(int b) { int c = 3; for (int d = 3; a & ...

  10. bug、兼容性、适配问题

    1.input   type=“number” 在火狐上限制长度会有问题: 1.maxlength 不管用 2.正则或js匹配限制长度后,给这个input赋值时候末尾三位(有可能是几位,我遇到的是三位 ...