引用自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. python学习笔记05-列表

    Python3已经不区分整型和长整型 列表: 查  用切片查  [n:n:n] A[1:2]  只能取出一个数  顾头不顾尾 存在步长  可以按步长1取  也可以按设置其他步长取 若要逆序取数  步长 ...

  2. php判断是否使用手机访问

    直接上代码 /** * 检测是否使用手机访问 * @access public * @return bool */ public function isMobile() { if (isset($_S ...

  3. 剑指offer五十之数组中重复的数字

    一.题目 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...

  4. (转)MySQL的Grant命令

    [MySQL] - MySQL的Grant命令 来源:http://yingxiong.javaeye.com/blog/451208 本文实例,运行于 MySQL 5.0 及以上版本. MySQL ...

  5. JavaScript中的垃圾回收机制与内存泄露

    什么是内存泄露? 任何编程语言,在运行时都需要使用到内存,比如在一个函数中, var arr = [1, 2, 3, 4, 5]; 这么一个数组,就需要内存. 但是,在使用了这些内存之后, 如果后面他 ...

  6. Cygwin安装配置

    1.下载安装Cygwin   我们可以到Cygwin的官方网站下载Cygwin的安装程序,地址是: http://www.cygwin.com/ 或者直接使用下载连接来下载安装程序,下载连接是: ht ...

  7. Linux的shell script

    Linux的shell script //编辑shell: vi a.sh //子进程运行shell sh a.sh //主线程运行shell source a.sh 相关例子: #!/bin/bas ...

  8. Android Studio修改字体大小

    android studio提供的主题是不能修改字体和字体大小的,如果要修改大小就的另存一份自定义的主题了. 1.启动Android Studio,菜单"File"-"S ...

  9. 数据分析--降维--LDA和PCA

    一.因子分析 因子分析是将具有错综复杂关系的变量(或样本)综合为少数几个因子,以再现原始变量和因子之间的相互关系,探讨多个能够直接测量,并且具有一定相关性的实测指标是如何受少数几个内在的独立因子所支配 ...

  10. 《深入理解Java虚拟机》目录

    第一部分 走进Java 第1章 走进Java   第二部分 自动内存管理机制 第2章 Java内存区域与内存溢出异常 2.2 运行时数据区域 2.3 HotSpot虚拟机对象探秘 第3章 垃圾收集器与 ...