1.用来实现上一页下一页,我直接写到查询页面上

  1. <%--page的分页--%>
  2. <style type="text/css">
  3. a {
  4. color: #555555;
  5. text-decoration: none;
  6. cursor: pointer;
  7. }
  8. .pages a.p_pre:hover {
  9. background-color: #eaeaea;
  10. color: #555555;
  11. border: 1px solid #cccccc;
  12. }
  13. .pages a {
  14. height: 36px;
  15. line-height: 36px;
  16. overflow: hidden;
  17. color: #666666;
  18. font-size: 16px;
  19. text-align: center;
  20. display: inline-block;
  21. padding: 0 12px;
  22. margin: 0 4px;
  23. border: 1px solid #cccccc;
  24. -webkit-border-radius: 2px;
  25. -moz-border-radius: 2px;
  26. border-radius: 2px;
  27. }
  28.  
  29. .pages a:hover, .pages a.cur {
  30. color: #FFF;
  31. background-color: #DD4E62;
  32. border: 1px solid #DD4E62;
  33. }
  34.  
  35. </style>
  36. <div class="pages">
  37. <c:if test="${pager.totalPage>=1}">
  38. <a href="${pageContext.request.contextPath}${pager.url}&pageIndex=1" class="p_pre">首页</a>
  39. <c:if test="${pager.pageIndex>1}">
  40. <a href="${pageContext.request.contextPath}${pager.url}&pageIndex=${pager.pageIndex-1}" class="p_pre">上一页</a>
  41. </c:if>
  42. <c:forEach var="temp" begin="${pager.pageIndex>3?pager.pageIndex-3:1}" end="${pager.totalPage-pager.pageIndex>3?pager.pageIndex+3:pager.totalPage}" step="1">
  43. <c:if test="${pager.pageIndex==temp}">
  44. <a href="${pageContext.request.contextPath}${pager.url}&pageindex=${temp}" class="cur">${temp}</a>
  45. </c:if>
  46. <c:if test="${pager.pageIndex!=temp}">
  47. <a href="${pageContext.request.contextPath}${pager.url}&pageindex=${temp}">${temp}</a>
  48. </c:if>
  49. </c:forEach>
  50. <c:if test="${pager.pageIndex<pager.totalPage}">
  51. <a href="${pageContext.request.contextPath}${pager.url}&pageindex=${pager.pageIndex+1}" class="p_pre">下一页</a>
  52. </c:if>
  53. <a href="${pageContext.request.contextPath}${pager.url}&pageIndex=${pager.totalPage}" class="p_pre">尾页</a>
  54. </c:if>
  55. <c:if test="${pager.totalPage==0}">
  56. <a href="#" class="cur">暂无记录</a>
  57. </c:if>
  58. </div>

2.遍历的方式

  1. <c:forEach items="${pager.lists}" var="item">
  2. <li class="w-280 m-l-13 m-r-13 bg-c-ffffff m-t-8 m-b-23 fl">
  3. <a href="${pageContext.request.contextPath}/selectAllSys_videoByCid/${item.cid}" class="dsblock w-260 hg-140 ovhidden ">
  4. <img src="${pageContext.request.contextPath}/jsp/front/videopic/${item.cimage}" alt=""/>
  5. <div class="course-label">
  6. <c:if test="${item.ctype==1}">
  7. <label>精品视频</label>
  8. </c:if>
  9. <c:if test="${item.ctype!=1}">
  10. <label>最新视频</label>
  11. </c:if>
  12. <%--<label>${item.ctype}</label>--%>
  13. </div>
  14. </a>
  15. <div class="w-255 p-l-10 p-r-15 fl">
  16. <div class="home_calsstxt w-200 fl">
  17. <h3 class="w-all fs-16 ftc-000000 line-h32 one_hidden m-t-6 fl">${item.cname}</h3>
  18. <span class="dsblock w-all fs-14 ftc-ff0000 line-h32 fl">¥${item.cprice}</span> </div>
  19. </div>
  20. </li>
  21. </c:forEach>

3.工具类

  1. package cn.dawn.util;
  2.  
  3. import java.util.List;
  4.  
  5. public class PagerInfo<T> {
  6.  
  7. private int totalPage;// 总页数
  8. private int totalSize;// 总记录数
  9. private int pageSize;//每页的记录数
  10. private int pageIndex;//页码
  11. private String url;//地址
  12. public String getUrl() {
  13. return url;
  14. }
  15.  
  16. public void setUrl(String url) {
  17. this.url = url;
  18. }
  19.  
  20. private List<T> lists;
  21.  
  22. public int getTotalPage() {
  23. //如果总记录数除以每页显示的记录数能整除,那么总页数等于商,否则商+1
  24. int total=totalSize%pageSize==0?totalSize/pageSize:totalSize/pageSize+1;
  25. return total;
  26. }
  27.  
  28. public void setTotalPage(int totalPage) {
  29. this.totalPage = totalPage;
  30. }
  31.  
  32. public int getTotalSize() {
  33. return totalSize;
  34. }
  35.  
  36. public void setTotalSize(int totalSize) {
  37. this.totalSize = totalSize;
  38. }
  39.  
  40. public List<T> getLists() {
  41. return lists;
  42. }
  43.  
  44. public void setLists(List<T> lists) {
  45. this.lists = lists;
  46. }
  47.  
  48. public int getPageSize() {
  49. return pageSize;
  50. }
  51.  
  52. public void setPageSize(int pageSize) {
  53. this.pageSize = pageSize;
  54. }
  55.  
  56. public int getPageIndex() {
  57. return pageIndex;
  58. }
  59.  
  60. public void setPageIndex(int pageIndex) {
  61. this.pageIndex = pageIndex;
  62. }
  63.  
  64. }

4.springmvc方法

  1. /*根据搜索框查视频列表*/
  2. @RequestMapping("/searchcourselisttocontroller")
  3. public String searchcourselisttocontroller(Model model,Integer pageindex,String cname){
  4. if(cname==null){
  5. cname="";
  6. }
  7. try {
  8. PagerInfo<Sys_course> pager = iCourseService.searchcourselisttocontroller(pageindex,cname);
  9. pager.setUrl("/searchcourselisttocontroller?cname="+cname);
  10.  
  11. model.addAttribute("pager",pager);
  12. } catch (Exception e) {
  13. e.printStackTrace();
  14. }
  15.  
  16. return "searchcourselist";
  17. }

5.service层方法

  1. @Override
  2. public PagerInfo<Sys_course> selectAllTypeThreeSys_course(Integer pageindex) throws Exception {
  3.  
  4. int index2=pageindex==null?1:pageindex;
  5.  
  6. //分页的集合
  7. PagerInfo<Sys_course> page=new PagerInfo<Sys_course>();
  8.  
  9. Map<String,Object> map=new HashMap<String,Object>();
  10. map.put("pageIndex",(index2-1)*8);
  11. map.put("pageSize",8);
  12. List<Sys_course> lists = iCourseDAO.selectAllTypeThreeSys_course(map);
  13.  
  14. page.setLists(lists);
  15. page.setTotalSize(iCourseDAO.selectAllTypeThreeSys_courseCount(map));
  16. page.setPageSize(8);
  17. page.setPageIndex(index2);
  18.  
  19. return page;
  20. }

dao层俩个方法

  1. <select id="selectAllTypeThreeSys_course" resultType="Sys_course">
  2. SELECT * FROM sys_course WHERE cparent IN(SELECT c.cid AS ciddd FROM sys_course AS c WHERE cparent IN(SELECT cid FROM sys_course WHERE cparent=0)) ORDER BY ccreatetime DESC LIMIT #{pageIndex},#{pageSize}
  3. </select>
  4.  
  5. <select id="selectAllTypeThreeSys_courseCount" resultType="int">
  6. SELECT COUNT(1) FROM sys_course WHERE cparent IN(SELECT c.cid AS ciddd FROM sys_course AS c WHERE cparent IN(SELECT cid FROM sys_course WHERE cparent=0)) ORDER BY ccreatetime DESC
  7. </select>

hibernate中分页怎么弄

  1. @Test
  2. /*
  3. * 查询姓名中包含b的员工,并且按照薪水降序排序
  4. * */
  5. public void t12CriteriaPage(){
  6. int count=((Long)session.createCriteria(Emp.class)
  7. .add(Restrictions.ilike("name","b",MatchMode.ANYWHERE))
  8. .setProjection(Projections.count("name")).uniqueResult()).intValue();
  9. System.out.println(count);
  10. //设置当前页和页大小
  11. int pageIndex=2;
  12. int pageSize=2;
  13. //计算总页数
  14. int totalPage=(count%pageSize==0)?(count/pageSize):(count/pageSize+1);
  15. //根据薪水进行降序排序
  16. Criteria criteria = session.createCriteria(Emp.class)
  17. .add(Restrictions.ilike("name","b",MatchMode.ANYWHERE))
  18. .addOrder(Order.desc("sal"));
  19. //设置 起始页和页大小
  20. List<Emp> emps=criteria.setFirstResult((pageIndex-1)*pageSize)
  21. .setMaxResults(pageSize).list();
  22. /*遍历*/
  23. for (Emp emp:emps){
  24. System.out.println(emp);
  25. }
  26.  
  27. /*
  28. Hibernate: select count(this_.name) as y0_ from Emp this_ where lower(this_.name) like ?
  29. 3
  30. Hibernate: select this_.empId as empId1_1_0_, this_.name as name2_1_0_, this_.sal as sal3_1_0_, this_.job as job4_1_0_, this_.deptNo as deptNo5_1_0_ from Emp this_ where lower(this_.name) like ? order by this_.sal desc limit ?, ?
  31. Hibernate: select dept0_.deptId as deptId1_0_0_, dept0_.name as name2_0_0_, dept0_.location as location3_0_0_ from Dept dept0_ where dept0_.deptId=?
  32. Emp{empId=2, name='Ab', job='财务猿2', sal=5000.0, dept=Dept{deptId=1, name='xx部', location='1楼'}}
  33. * */
  34. }

更简单的hibernate分页

  1. @Test
  2. /**
  3. * 分页
  4. *
  5. * 01.查询总记录数
  6. * 02.每页显示的数据
  7. * 03.总页数
  8. */
  9. public void t1Page(){
  10. String hql="select count(*) from Teacher";//会返回Long类型
  11. int counts=((Long)session.createQuery(hql).uniqueResult()).intValue();
  12. /*页大小*/
  13. int pageSize=2;
  14. /*总页数*/
  15. int totalPages=(counts%pageSize==0)?(counts/pageSize):(counts/pageSize+1);
  16. /*显示第二页内容*/
  17. int pageIndex=2;
  18. hql="from Teacher";
  19. Query query = session.createQuery(hql);;
  20. /*从哪一条开始查*/
  21. query.setFirstResult((pageIndex-1)*pageSize);
  22. /*设置页大小*/
  23. query.setMaxResults(pageSize);
  24. List<Teacher> teachers = query.list();
  25. for (Teacher t:teachers) {
  26. System.out.println(t);
  27. }
  28.  
  29. }

Jsp刷新分页模板,很全的更多相关文章

  1. 【Java EE 学习 57】【酒店会员管理系统之分页模板书写】

    分页一直是一个比较麻烦的问题,特别是在我做的这个系统中更是有大量的分页,为了应对该问题,特地写了一个模板以方便代码重用,该模板包括后台分页的模板.前端显示的模板两部分. 一.分页分析 分页需要三种类型 ...

  2. 很全的vue插件汇总,赶紧收藏下(转)

    Vue是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件特别整理了常用的vue插件,来了个大汇总,方便查找使用,便于工作 ...

  3. IntelliJ IDEA使用教程(很全)

    IntelliJ IDEA使用教程(很全) 这个编辑器我就不再多做介绍了.直接开始新建maven hello world 的Java web项目啦 你电脑上得有jdk1.7,或者1.8,然后就是mav ...

  4. TP2.0或3.1 或者 3.2 下使用ajax+php做无刷新分页(转+自创)

    1.前言 作为一名php程序员,我们开发网站主要就是为了客户从客户端进行体验,在这里,thinkphp框架自带的分页类是每次翻页都要刷新一下整个页面,这种翻页的用户体验显然是不太理想的,我们希望每次翻 ...

  5. thinkphp下实现ajax无刷新分页

    1.前言 作为一名php程序员,我们开发网站主要就是为了客户从客户端进行体验,在这里,thinkphp框架自带的分页类是每次翻页都要刷新一下整个页面,这种翻页的用户体验显然是不太理想的,我们希望每次翻 ...

  6. 很全的 Python 面试题

    很全的 Python 面试题 Python语言特性 1 Python的函数参数传递 看两个例子:           Python   1 2 3 4 5 a = 1 def fun(a):      ...

  7. 在Thinkphp中使用AJAX实现无刷新分页

    在Thinkphp目录的Lib\ORG\Util\目录里新建AjaxPage.class.php,写入一下内容: <?php // +------------------------------ ...

  8. 扩展GridView实现的一个自定义无刷新分页,排序,支持多种数据源的控件TwfGridView

    最近项目View层越来越趋向于无刷新化,特别是数据展示方面,还要对Linq有很好的支持.在WebFrom模式的开发中,GridView是一个功能很强大,很常用的控件,但是他也不是完美的,没有自带的无刷 ...

  9. thinkphp ajax 无刷新分页效果的实现

    思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...

随机推荐

  1. PhoneGap 的消息推送插件JPush极光推送

    一. 什么是极光推送 极光推送,使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动, 从而有效地提高留存率,提升用户体验.平台提供整合了 Android 推送.iOS 推送的统一推 ...

  2. iOS - CocoaPods 和 Carthage 的比较

    CocoaPods 好处? 开发 iOS 项目不可避免地要使用第三方开源库,CocoaPods 的出现使得我们可以节省设置和更新第三方开源库的时间 在引入第三方库时它可以自动为我们完成各种各样的配置, ...

  3. Python机器学习神器:sklearn&numpy

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDE0MDMzOA==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  4. LayIM项目之基础数据获取代码优化,Dapper取代ADO.NET

    前言 最近在开发LayIM融云版,也在进行项目重构,现在在看之前的代码,简直不敢直视.不过不知道以后看现在的代码是不是也是糟糕的一批.LayIM有个接口,一般接触过的开发人员都不会生疏,就是init接 ...

  5. SpringBoot 修改仓库

    SpringBoot使用aliyun仓库 maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}

  6. Mac 开发配置手册

    转自:http://www.cocoachina.com/mac/20141112/10198.html 手册内容为「如何让一部全新的 MacBook 快速完成开发环境配置」,主要面向 Web 开发者 ...

  7. Oracle GoldenGate同步服务归档空间维护

    ORA-00257: archiver error. Connect internal only, until freed 查看归档日志序列 SQL> archive log list; Aut ...

  8. Oracle语句(一)之简单查询

    1.查询数据表的所有列: select * from 表名; 程序员正常用法:select 列名,列名... form 表名; 2.起别名: select 列名 [AS 别名],列名 别名...fro ...

  9. redhat6本地源NBD驱动安装

    安装NBD驱动 一.配置本地yum源 1.挂载系统安装光盘 # mount /dev/cdrom /mnt/cdrom/ # mkdir /mnt/media # cp -rf /mnt/cdrom/ ...

  10. android软件开发基础

    1.android特性:开放性:开源的一个基础, 方便性: 平等性: 2.Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,Broadc ...