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控制的函数,模板页面中 ...
随机推荐
- 使用Hibernate注解Annotations进行对象映射的异常处理
通过Hibernate注解Annotations进行对象映射,想在Oracle数据库中自动创建表,代码如下: 实体类: import javax.persistence.Basic;import ja ...
- 总结一下MVC思想
MVC (Model View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用 ...
- node里有没有清理require和dependencies的工具
写node的时候,常常以为自己需要某个package,于是require了一下,结果写着写着,又没有用到,安装了某个包save了一下,最后也没用到. 一个项目写完发现整个require和depende ...
- Spring使用java代码配置Web.xml进行访问service
方式一:继承WebMvcConfigurerAdapter类 1.使用一个类来继承 package com.wbg.springJavaConfig.spring; import org.spring ...
- 极光IM简单接入步骤
最近生接触了一下android,尝试导入极光的demo到android study 各种错误,然后下载极光生成的项目也是各种错误,感觉好像有点脱离时代了,记得以前用eclipse写android只需要 ...
- iOS定时器-- NSTimer 和CADisplaylink
iOS定时器-- NSTimer 和CADisplaylink 一.iOS中有两种不同的定时器: 1. NSTimer(时间间隔可以任意设定,最小0.1ms)// If seconds is les ...
- OSMboxPend()
1. 原型:void *OSMboxPend(OS_EVENT *pevent, INT16U timeout, INT8U *err) 2. 参数意义: pevent :消息邮箱 timeout ...
- GoBelieve,IMSDK android版开发环境问题
GoBelieve,IMSDK android版开发环境问题 --- Mac下,android Studio 需要java1.7配置问题 On a mac, check your java versi ...
- 使用js函数格式化xml字符串带缩进
遇到了一个做soap的API的操作,中途需要说明xml的组装模式等, 如上图,组装产生的mxl代码药格式化并展示.由于是在前端做的,所以需要将字符串将xml进行格式化并输出,找到别人写的算法稍加更改并 ...
- hibernate-笔记
什么是 hibernate 框架 1.hibernate 框架应用在 javaee 三次结构中 dao 层框架 2.在dao 层里面对数据库做curd 操作, 使用hibernate 做crud 操作 ...