(假定你的页数从1开始)
1、总页数 = 总记录数/每页大小,如果0!=总记录数%每页大小,那么总页数再+1
2、当前页数(从浏览器传递的参数中获得)
3、表记录的起始位置=(当前页数-1)*每页大小
4、总记录数(select count(*) from [表名] [where [条件]],从数据库中查询得到)
5、每页大小,可以固定,也可以从页面传过来
有了这几个参数之后,就用sql语句查出对应的记录就可以了。
mysql数据库用limit 表记录的起始位置,每页大小 语句添加到你的查询语句最后面
sqlserver数据库用top语句和not in 来做
oracle数据库用rownum来做
再给你一段分页对象代码,你自己先读一下
public class Page {
private long totalCount = 0// 总记录数
private int pageNumber = 1// 当前页号,默认显示第一页
private int pageSize = 20// 每页大小,默认每页20条
private int totalPage = 0// 总页数,默认为0
private int startRow = 0// 起始记录行号,默认为从表头开始
/**
* 分页计算方法,由setTotalCount调用
*/
public void pagination() {
// 计算总页数
if (this.totalCount % pageSize == 0)
this.totalPage = new Long(this.totalCount / pageSize).intValue()
else
this.totalPage = new Long(this.totalCount / pageSize).intValue() + 1
// 排除错误页号
if (this.pageNumber <1)
this.pageNumber = 1
if (this.pageNumber >this.totalPage)
this.pageNumber = this.totalPage
// 计算起始行号
this.startRow = (this.pageNumber - 1) * this.pageSize
}
public long getTotalCount() {
return totalCount
}
public void setTotalCount(long totalCount) {
this.totalCount = totalCount
this.pagination()
}
public int getPageNumber() {
return pageNumber
}
public void setPageNumber(int pageNumber) {
this.pageNumber = pageNumber
}
public int getPageSize() {
return pageSize
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize
}
public int getTotalPage() {
return totalPage
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage
}
public int getStartRow() {
return startRow
}
public void setStartRow(int startRow) {
this.startRow = startRow
}
}
Javaweb分页多次点击就卡了原因:感觉要不在线程方面,要不就是个人电脑IE方面。
一个是数据库的访问量,是否很大!第二就是你代码写的过于繁琐了需要简化,数据资源最好不要浪费,在传值的时候最好能够做一下处理, 如果一次需要传出大量的数据到页面上,我建议你倒不如在ArrayList里 一段一段的取过来!
总的来说,js解决方案是基本可以防止重复点击提交按钮造成的重复提交问题,但是前进后退 *** 作,或者F5刷新页面等问题并不能得到解决。最重要的一点,前端的代码只能防止不懂js的用户,如果碰到懂得js的编程人员,那js方法就没用了。
主要框架:
Java的Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定,XML或 Annotation实现配置,运用Java面向对象的特点,面向对象实现请求和响应的流程,支持Jsp,Freemarker,Velocity等视图。
网络的问题。javaweb在分页查询中,刚开始的当前页面为负一是网络连接异常导致。1、首先打开电脑检查网络。
2、其次打开javaweb进行测试网络连接是否异常。
3、最后点击javaweb重新进入即可恢复。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)