
搭建项目分页
1jsp页面
<tr>
<td bgcolor="#00ffff" colspan="10" align="center">
第${pagercurrentPage}页
每页${pagerpageSize} 条记录
共${pagertotalPages}页
共${pagertotalRows} 条
<a href="servlet/UserServletnum=1&page=1" >首页</a>
<a href="servlet/UserServletnum=1&page=${pagercurrentPage-1}">上一页</a>
<a href="servlet/UserServletnum=1&page=${pagercurrentPage+1}">下一页</a>
<a href="servlet/UserServletnum=1&page=${pagertotalPages}">末页</a>
</td>
</tr>
2拼接sql语句
SELECT FROM USERS LEFT JOIN DEPT ON USERDEPT=DEPTNUM
SELECT FROM(SELECT A, ROWNUM RN FROM (SELECT FROM student) A WHERE ROWNUM <=15)WHERE RN >=11 ORDER BY ENTERDATE
分页sql:SELECT FROM(SELECT A, ROWNUM RN FROM (SELECT FROM USERS LEFT JOIN DEPT ON USERDEPT=DEPTNUM) A WHERE ROWNUM <=15)WHERE RN >=11 ORDER BY ENTERDATE
3分页工具类导入到common包:Pagerjava
在servlet调用:第一个条件:总条数 第二个条件:当前页数
String page = requestgetParameter("page");
//分页调用开始--------------------------------
Pager pager = new Pager();
int totalRows = userServicegetCountRows();
pagersetTotalRows(totalRows);
if(null != page){
pagersetCurrentPage(IntegerparseInt(page));
}else{
pagersetCurrentPage(1);
}
requestsetAttribute("pager", pager);//给页面分页赋值
4把pager工具类传递到dao,拼接执行动态分页sql语句
开始条数:pagergetStartRow()
结束条:pagergetCurrentPage()pagergetPageSize()
String sql="SELECT FROM(SELECT A, ROWNUM RN FROM (SELECT FROM USERS LEFT JOIN DEPT ON USERDEPT=DEPTNUM) A WHERE ROWNUM <="+pagergetCurrentPage() pagergetPageSize()+")WHERE RN >="+pagergetStartRow();//分页sql 1-3条
分页根本条件:
private int totalRows; //总行数
private int pageSize = 5; //每页显示的行数
private int currentPage=1; //当前页号
private int totalPages; //总页数
private int startRow; //当前页在数据库中的起始行
private int endRow; //数据库执行sql的结束行
totalPages算法:
if(totalRows<=pageSize){
totalPages=1;
}else{
totalPages=(totalRows+pageSize-1)/pageSize;
}
startRow; 算法:
startRow=(currentPage-1) pageSize+1;
endRow; endRow=currentPage pageSize;
在page类中新加入path属性,用以存储每次转发的路径及携带参数。
private String path;
新建WEBUtils类,获取路径,放在新声明的url中,简便页面中的EL表达式。
public static String getPath(>
String requestURI = requestgetRequestURI();//获取请求路径
String queryString = requestgetQueryString();//获取请求参数
String url = requestURI+""+queryString;
if(urlcontains("&pageNo")){
url = urlsubstring(0, urlindexOf("&pageNo"));
}
return url;
}
在servlet中将WEBUtils中获取的url放入page中。
pagesetPath(url)
在要显示的页面写如下代码,主要是分类进行判断。
比如你有个list
list
=
new
arraylist();
你在页面拿到这个list集合,存在页面内存里面,通过数组下边每次取5条记录,来实现分页效果
以上就是关于前端开发 需要根据把后台数据列表 分页显示全部的内容,包括:前端开发 需要根据把后台数据列表 分页显示、前端开发怎样把后台数据列表分页显示、java 如果所有数据是从List里取出来的 那如何进行分页等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)