Jsp刷新分页模板,很全
1.用来实现上一页下一页,我直接写到查询页面上
- <%--page的分页--%>
- <style type="text/css">
- a {
- color: #555555;
- text-decoration: none;
- cursor: pointer;
- }
- .pages a.p_pre:hover {
- background-color: #eaeaea;
- color: #555555;
- border: 1px solid #cccccc;
- }
- .pages a {
- height: 36px;
- line-height: 36px;
- overflow: hidden;
- color: #666666;
- font-size: 16px;
- text-align: center;
- display: inline-block;
- padding: 0 12px;
- margin: 0 4px;
- border: 1px solid #cccccc;
- -webkit-border-radius: 2px;
- -moz-border-radius: 2px;
- border-radius: 2px;
- }
- .pages a:hover, .pages a.cur {
- color: #FFF;
- background-color: #DD4E62;
- border: 1px solid #DD4E62;
- }
- </style>
- <div class="pages">
- <c:if test="${pager.totalPage>=1}">
- <a href="${pageContext.request.contextPath}${pager.url}&pageIndex=1" class="p_pre">首页</a>
- <c:if test="${pager.pageIndex>1}">
- <a href="${pageContext.request.contextPath}${pager.url}&pageIndex=${pager.pageIndex-1}" class="p_pre">上一页</a>
- </c:if>
- <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">
- <c:if test="${pager.pageIndex==temp}">
- <a href="${pageContext.request.contextPath}${pager.url}&pageindex=${temp}" class="cur">${temp}</a>
- </c:if>
- <c:if test="${pager.pageIndex!=temp}">
- <a href="${pageContext.request.contextPath}${pager.url}&pageindex=${temp}">${temp}</a>
- </c:if>
- </c:forEach>
- <c:if test="${pager.pageIndex<pager.totalPage}">
- <a href="${pageContext.request.contextPath}${pager.url}&pageindex=${pager.pageIndex+1}" class="p_pre">下一页</a>
- </c:if>
- <a href="${pageContext.request.contextPath}${pager.url}&pageIndex=${pager.totalPage}" class="p_pre">尾页</a>
- </c:if>
- <c:if test="${pager.totalPage==0}">
- <a href="#" class="cur">暂无记录</a>
- </c:if>
- </div>
2.遍历的方式
- <c:forEach items="${pager.lists}" var="item">
- <li class="w-280 m-l-13 m-r-13 bg-c-ffffff m-t-8 m-b-23 fl">
- <a href="${pageContext.request.contextPath}/selectAllSys_videoByCid/${item.cid}" class="dsblock w-260 hg-140 ovhidden ">
- <img src="${pageContext.request.contextPath}/jsp/front/videopic/${item.cimage}" alt=""/>
- <div class="course-label">
- <c:if test="${item.ctype==1}">
- <label>精品视频</label>
- </c:if>
- <c:if test="${item.ctype!=1}">
- <label>最新视频</label>
- </c:if>
- <%--<label>${item.ctype}</label>--%>
- </div>
- </a>
- <div class="w-255 p-l-10 p-r-15 fl">
- <div class="home_calsstxt w-200 fl">
- <h3 class="w-all fs-16 ftc-000000 line-h32 one_hidden m-t-6 fl">${item.cname}</h3>
- <span class="dsblock w-all fs-14 ftc-ff0000 line-h32 fl">¥${item.cprice}</span> </div>
- </div>
- </li>
- </c:forEach>
3.工具类
- package cn.dawn.util;
- import java.util.List;
- public class PagerInfo<T> {
- private int totalPage;// 总页数
- private int totalSize;// 总记录数
- private int pageSize;//每页的记录数
- private int pageIndex;//页码
- private String url;//地址
- public String getUrl() {
- return url;
- }
- public void setUrl(String url) {
- this.url = url;
- }
- private List<T> lists;
- public int getTotalPage() {
- //如果总记录数除以每页显示的记录数能整除,那么总页数等于商,否则商+1
- int total=totalSize%pageSize==0?totalSize/pageSize:totalSize/pageSize+1;
- return total;
- }
- public void setTotalPage(int totalPage) {
- this.totalPage = totalPage;
- }
- public int getTotalSize() {
- return totalSize;
- }
- public void setTotalSize(int totalSize) {
- this.totalSize = totalSize;
- }
- public List<T> getLists() {
- return lists;
- }
- public void setLists(List<T> lists) {
- this.lists = lists;
- }
- public int getPageSize() {
- return pageSize;
- }
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- public int getPageIndex() {
- return pageIndex;
- }
- public void setPageIndex(int pageIndex) {
- this.pageIndex = pageIndex;
- }
- }
4.springmvc方法
- /*根据搜索框查视频列表*/
- @RequestMapping("/searchcourselisttocontroller")
- public String searchcourselisttocontroller(Model model,Integer pageindex,String cname){
- if(cname==null){
- cname="";
- }
- try {
- PagerInfo<Sys_course> pager = iCourseService.searchcourselisttocontroller(pageindex,cname);
- pager.setUrl("/searchcourselisttocontroller?cname="+cname);
- model.addAttribute("pager",pager);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return "searchcourselist";
- }
5.service层方法
- @Override
- public PagerInfo<Sys_course> selectAllTypeThreeSys_course(Integer pageindex) throws Exception {
- int index2=pageindex==null?1:pageindex;
- //分页的集合
- PagerInfo<Sys_course> page=new PagerInfo<Sys_course>();
- Map<String,Object> map=new HashMap<String,Object>();
- map.put("pageIndex",(index2-1)*8);
- map.put("pageSize",8);
- List<Sys_course> lists = iCourseDAO.selectAllTypeThreeSys_course(map);
- page.setLists(lists);
- page.setTotalSize(iCourseDAO.selectAllTypeThreeSys_courseCount(map));
- page.setPageSize(8);
- page.setPageIndex(index2);
- return page;
- }
dao层俩个方法
- <select id="selectAllTypeThreeSys_course" resultType="Sys_course">
- 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}
- </select>
- <select id="selectAllTypeThreeSys_courseCount" resultType="int">
- 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
- </select>
hibernate中分页怎么弄
- @Test
- /*
- * 查询姓名中包含b的员工,并且按照薪水降序排序
- * */
- public void t12CriteriaPage(){
- int count=((Long)session.createCriteria(Emp.class)
- .add(Restrictions.ilike("name","b",MatchMode.ANYWHERE))
- .setProjection(Projections.count("name")).uniqueResult()).intValue();
- System.out.println(count);
- //设置当前页和页大小
- int pageIndex=2;
- int pageSize=2;
- //计算总页数
- int totalPage=(count%pageSize==0)?(count/pageSize):(count/pageSize+1);
- //根据薪水进行降序排序
- Criteria criteria = session.createCriteria(Emp.class)
- .add(Restrictions.ilike("name","b",MatchMode.ANYWHERE))
- .addOrder(Order.desc("sal"));
- //设置 起始页和页大小
- List<Emp> emps=criteria.setFirstResult((pageIndex-1)*pageSize)
- .setMaxResults(pageSize).list();
- /*遍历*/
- for (Emp emp:emps){
- System.out.println(emp);
- }
- /*
- Hibernate: select count(this_.name) as y0_ from Emp this_ where lower(this_.name) like ?
- 3
- 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 ?, ?
- 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=?
- Emp{empId=2, name='Ab', job='财务猿2', sal=5000.0, dept=Dept{deptId=1, name='xx部', location='1楼'}}
- * */
- }
更简单的hibernate分页
- @Test
- /**
- * 分页
- *
- * 01.查询总记录数
- * 02.每页显示的数据
- * 03.总页数
- */
- public void t1Page(){
- String hql="select count(*) from Teacher";//会返回Long类型
- int counts=((Long)session.createQuery(hql).uniqueResult()).intValue();
- /*页大小*/
- int pageSize=2;
- /*总页数*/
- int totalPages=(counts%pageSize==0)?(counts/pageSize):(counts/pageSize+1);
- /*显示第二页内容*/
- int pageIndex=2;
- hql="from Teacher";
- Query query = session.createQuery(hql);;
- /*从哪一条开始查*/
- query.setFirstResult((pageIndex-1)*pageSize);
- /*设置页大小*/
- query.setMaxResults(pageSize);
- List<Teacher> teachers = query.list();
- for (Teacher t:teachers) {
- System.out.println(t);
- }
- }
Jsp刷新分页模板,很全的更多相关文章
- 【Java EE 学习 57】【酒店会员管理系统之分页模板书写】
分页一直是一个比较麻烦的问题,特别是在我做的这个系统中更是有大量的分页,为了应对该问题,特地写了一个模板以方便代码重用,该模板包括后台分页的模板.前端显示的模板两部分. 一.分页分析 分页需要三种类型 ...
- 很全的vue插件汇总,赶紧收藏下(转)
Vue是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件特别整理了常用的vue插件,来了个大汇总,方便查找使用,便于工作 ...
- IntelliJ IDEA使用教程(很全)
IntelliJ IDEA使用教程(很全) 这个编辑器我就不再多做介绍了.直接开始新建maven hello world 的Java web项目啦 你电脑上得有jdk1.7,或者1.8,然后就是mav ...
- TP2.0或3.1 或者 3.2 下使用ajax+php做无刷新分页(转+自创)
1.前言 作为一名php程序员,我们开发网站主要就是为了客户从客户端进行体验,在这里,thinkphp框架自带的分页类是每次翻页都要刷新一下整个页面,这种翻页的用户体验显然是不太理想的,我们希望每次翻 ...
- thinkphp下实现ajax无刷新分页
1.前言 作为一名php程序员,我们开发网站主要就是为了客户从客户端进行体验,在这里,thinkphp框架自带的分页类是每次翻页都要刷新一下整个页面,这种翻页的用户体验显然是不太理想的,我们希望每次翻 ...
- 很全的 Python 面试题
很全的 Python 面试题 Python语言特性 1 Python的函数参数传递 看两个例子: Python 1 2 3 4 5 a = 1 def fun(a): ...
- 在Thinkphp中使用AJAX实现无刷新分页
在Thinkphp目录的Lib\ORG\Util\目录里新建AjaxPage.class.php,写入一下内容: <?php // +------------------------------ ...
- 扩展GridView实现的一个自定义无刷新分页,排序,支持多种数据源的控件TwfGridView
最近项目View层越来越趋向于无刷新化,特别是数据展示方面,还要对Linq有很好的支持.在WebFrom模式的开发中,GridView是一个功能很强大,很常用的控件,但是他也不是完美的,没有自带的无刷 ...
- thinkphp ajax 无刷新分页效果的实现
思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...
随机推荐
- PhoneGap 的消息推送插件JPush极光推送
一. 什么是极光推送 极光推送,使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动, 从而有效地提高留存率,提升用户体验.平台提供整合了 Android 推送.iOS 推送的统一推 ...
- iOS - CocoaPods 和 Carthage 的比较
CocoaPods 好处? 开发 iOS 项目不可避免地要使用第三方开源库,CocoaPods 的出现使得我们可以节省设置和更新第三方开源库的时间 在引入第三方库时它可以自动为我们完成各种各样的配置, ...
- Python机器学习神器:sklearn&numpy
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDE0MDMzOA==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- LayIM项目之基础数据获取代码优化,Dapper取代ADO.NET
前言 最近在开发LayIM融云版,也在进行项目重构,现在在看之前的代码,简直不敢直视.不过不知道以后看现在的代码是不是也是糟糕的一批.LayIM有个接口,一般接触过的开发人员都不会生疏,就是init接 ...
- SpringBoot 修改仓库
SpringBoot使用aliyun仓库 maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
- Mac 开发配置手册
转自:http://www.cocoachina.com/mac/20141112/10198.html 手册内容为「如何让一部全新的 MacBook 快速完成开发环境配置」,主要面向 Web 开发者 ...
- Oracle GoldenGate同步服务归档空间维护
ORA-00257: archiver error. Connect internal only, until freed 查看归档日志序列 SQL> archive log list; Aut ...
- Oracle语句(一)之简单查询
1.查询数据表的所有列: select * from 表名; 程序员正常用法:select 列名,列名... form 表名; 2.起别名: select 列名 [AS 别名],列名 别名...fro ...
- redhat6本地源NBD驱动安装
安装NBD驱动 一.配置本地yum源 1.挂载系统安装光盘 # mount /dev/cdrom /mnt/cdrom/ # mkdir /mnt/media # cp -rf /mnt/cdrom/ ...
- android软件开发基础
1.android特性:开放性:开源的一个基础, 方便性: 平等性: 2.Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,Broadc ...