引用自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. Alamofire源码导读四:统计信息

     时间顺序如上图: self.latency = initialResponseTime - requestStartTime self.requestDuration = requestCompl ...

  2. Explorer内存占用偶尔变高导致卡顿

    症状: 打开 "这台电脑",加载缓慢.此时查看任务管理器,explorer内存可能飙升到几G.cpu也很高 创建和删除文件缓慢,删除单个文件也会出现进度条.此时查看任务管理器,会出 ...

  3. javascript中函数声明和函数表达式的区别 分类: JavaScript 2015-05-07 21:41 897人阅读 评论(0) 收藏

    1.js中函数表达式的定义 表达式(expression)JavaScript中的一个短语,javascript会将其计算(evaluate)出一个结果.程序中的常量是一个最简单的表达式.变量名也是一 ...

  4. Android 开发工具类 02_DensityUtils

    常用单位转换的辅助类: 1.dp 转 px: 2.sp 转 px: 3.px 转 dp: 4.px 转 sp. import android.content.Context; import andro ...

  5. centos7防暴力破解五种方法

    什么是暴力破解,简单来说就是对一个服务器进行无数次尝试登陆,并用不同的密码进行登陆直到可以登陆成功.暴力破解的基本步骤可以分为以下几步: 1. 找到对应的linux服务器    Ip地址 2.扫描端口 ...

  6. php中接收参数,不论是来自GET还是POST方法

    不多说,直接上代码, 其实也就是先用GET的方法去获取,如果值为空,在用POST方法去获取 写下来是为了方便和备忘 function getParam($str){       if ( isset( ...

  7. C#(Winform)中button的Enable=false和visible的区别

    Enable:可用性 visible:可见性(不是visiable哦,没有这个单词) 如果设置了button或其他控件的Enable为false,还是能够看到控件,只是控件是灰色的,而且点不了: 但设 ...

  8. Nodejs学习笔记(一)—简介及安装Node.js开发环境

    一.简介 Node.js是让Javascript脱离浏览器运行在服务器的一个平台,不是语言: Node.js采用的Javascript引擎是来自Google Chrome的V8:运行在浏览器外不用考虑 ...

  9. Mongodb同步数据到hive(二)

    Mongodb同步数据到hive(二) 1.            概述 上一篇文章主要介绍了mongodb-based,通过直连mongodb的方式进行数据映射来进行数据查询,但是那种方式会对线上的 ...

  10. Visual Studio使用阿里云Code Git服务器的常见问题

    使用Github的服务器太慢,阿里的https://code.aliyun.com的国内服务器还是很快的.但是使用阿里的Git服务器总是有些地方出问题,现记录下常见的问题: 1.如提示源码已在TFS管 ...