`
风远阁
  • 浏览: 39567 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SSH网站分页技术的使用

阅读更多
一、在ArticleDao中添加分页查询的方法:

/**
     * 分页查询
     * @param hql 查询的条件
     * @param offset 开始记录
     * @param length 一次查询几条记录
     * @return
     */
    public List queryForPage(final String hql,final int offset,final int length);
   
    /** *//**
     * 查询所有记录数
     * @param hql 查询的条件
     * @return 总记录数
     */
    public int getAllRowCount(String hql);




二、在ArticleDaoImpl中给出相应方法的具体实现:

/**
* 查询所有记录数
*
* @return 总记录数
*/
public int getAllRowCount(String hql) {
return getHibernateTemplate().find(hql).size();
}

/**
* 分页查询
*
* @param hql
*            查询的条件
* @param offset
*            开始记录
* @param length
*            一次查询几条记录
* @return
*/
public List queryForPage(final String hql, final int offset,
final int length) {
List list = getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);
query.setFirstResult(offset);
query.setMaxResults(length);
List list = query.list();
return list;
}
});
return list;
}


三、在ArticleService中添加方法分页查询的方法:

/**
     * 分页查询
     * @param currentPage 当前第几页
     * @param pageSize 每页大小
     * @return 封闭了分页信息(包括记录集list)的Bean
     */
    public PageBean queryForPage(int pageSize,int currentPage);

四、在ArticleServiceImpl中给出相应方法的具体实现:

/**
   * 分页查询
   * @param currentPage 当前第几页
   * @param pageSize 每页大小
   * @return 封闭了分页信息(包括记录集list)的Bean
   */
  public PageBean queryForPage(int pageSize,int page){

      final String hql = "from Article";       
      int allRow = articleDao.getAllRowCount(hql);  
      int totalPage = PageBean.countTotalPage(pageSize, allRow);   
      final int offset = PageBean.countOffset(pageSize, page);   
      final int length = pageSize;   
      final int currentPage = PageBean.countCurrentPage(page);
      List<Article> list = articleDao.queryForPage(hql,offset, length); //"一页"的记录
     
      //把分页信息保存到Bean中
      PageBean pageBean = new PageBean();
      pageBean.setPageSize(pageSize);   
      pageBean.setCurrentPage(currentPage);
      pageBean.setAllRow(allRow);
      pageBean.setTotalPage(totalPage);
      pageBean.setList(list);
      pageBean.init();
     
      return pageBean;
  }

最后一步,根据需要,在分页页面上的相应位置进行配置。基本配置如下:


<s:if test="%{pageBean.currentPage == 1}">
<span>首页</span>
<span>上一页</span>
</s:if> <s:else>
首页
[url=...?page=<s:property value=]">上一页[/url]
<span>…</span>
</s:else>
<span class=""><s:property value="pageBean.currentPage" /></span>
<s:if test="%{pageBean.currentPage != pageBean.totalPage}">
<span class="">…</span>
<a href="...?page=<s:property value="%{pageBean.currentPage+1}"/>">下一页

</a>
<a href="...?page=<s:property value="pageBean.totalPage"/>">尾页

</a>
</s:if> <s:else>
<span>下一页</span>
<span>尾页</span>
</s:else>

<span>共<s:property
value="pageBean.allRow" />条记录,<s:property
value="pageBean.totalPage" />页</span></div>
</div>
</div>

至此,网站的分页功能就完成了。
1
2
分享到:
评论

相关推荐

    ssh实现分页

    ssh实现分页技术 分页实现实例,分页类

    SSH分页技术详解与实例

    SSH分页技术详解与实例,有注释,能够看懂每一步,若再实际项目中用到,只需根据实际情况更改几处既可

    SSH分页技术

    按照 文档中的的内容轻松实现SSH分页,文档中包含 了 分页bean。直接复制即可使用。有详细的类和方法说明。

    基于SSH框架分页实现方法

    基于SSH技术实现分页管理信息,代码几乎不用修改,直接能通,方便大家使用

    基于SSH的可重用分页技术设计与实现

    基于SSH的可重用分页技术设计与实现

    JAVAEE SSH分页

    JAVAEE SSH分页 包含JAR包

    ssh实现分页功能,一个简单的小项目

    主要是三个配置文件 web.xml struts-config.xml applicationContext.xml 数据库是sql2000

    ssh框架模板+hibernate简单分页

    ssh框架模板例子代码,hibernate实现简单的分页技术。

    基于SSH2框架的分页查询代码

    本资源主要为基于SSH2的分页查询技术,通过自己的测试,需要修改一些信息,使用HTML的onsubmit事件,.txt文档内从前台到后台的代码都有,是一个例子。

    ssh2分页技术(以一个模块为例)

    基于struts2+hibernate+spring开发的分页技术,本人自己项目抽出一个模块为例。下载的朋友花半个小时研究下即可模仿使用。

    ssh技术及spring分页技术

    这是一个明了的工程,很简单只需要在你的tomcat服务器上发布就可以应用了,通过这个工程你可以学到目前流行的ssh技术,spring中分页技术。是不错的学习资料!

    10万以上高性能分页技术

    这个分页技术提供历史最全面的通用分页技术,实现网上的所用的分页格式,里面的代码规范是很严格的还有这个项目去掉了STRUTS2的沉余代码。数据库提供了包括数据脚本。 分页功能:总页数(n页),当前页数(m/n), 首页...

    使用ssh框架,实现单表增删改查、条件查询和分页、文件上传

    适用于java初学者理解ssh框架,使用Oracle数据库,结合jQuery的ajax技术,实现单表增删改查、条件查询和分页、文件上传

    分页SSH购物车

    分页,SSH,购物车,mysql 等综合技术的使用,易于理解

    ssh框架搭建实例源码2

    本资源是在“ssh框架搭建实例源码1”基础上增加了修改了分页技术,实现数据从数据库中读取,并补充“ssh框架搭建实例源码1”中忘记上传的与分页技术相关的jar包,更新数据库文件ssh.sql。本资源所需的jar包请到“ssh...

    基于SSH架构的分页查询标签的研究与实现

    针对目前分页查询问题解决方案较为复杂、不易维护的问题,运用JSP自定义标签技术和HQL语言,提出了一个在SSH架构下的解决方案.该方案可有效地使分页面板的显示、处理与JSP页面分离,使用简单,功能完整,并已经成功运用于...

    基于java的分页技术

    基于java的分页技术,可以用于mvc,ssh,ss,用于企业的ERP技术,个人写的,很有用,可以借鉴

    ssh+bootstrap实现用户管理

    ssh+bootstrap实现用户管理,其功能包括:hibernate实现数据的增删改查,验证码,项目访问路径拦截器,bootstrap的使用,数据分页,以及查询之后的分页。源码下载后,将hibernate.cfg.xml中的用户名以及密码改变,...

    ssh框架搭建实例源码3

    本资源是在“ssh框架搭建实例源码2”基础上修改了分页技术,实现项目真正可用的分页技术;实现对基础的dao,service,action操作的提取封装;使命名更规范。本资源所需的jar包请到“ssh框架搭建实例源码2”和“ssh...

Global site tag (gtag.js) - Google Analytics