文章目录
- 前言
- 一、分页思想?
- 二、使用步骤
- 总结
前言
新手小白今日学习了一个新技能,那就是将网页的内容按需要分页,特来此总结一下~
一、分页思想?
一般网页上的分页都是:首页>上一页>下一页>尾页,所以我们可以先定义几个数据对象
total:总数量
page:页码
totalpage:总页码
list:数据
二、具体操作
2.1分页语句
SELECT * FROM zhandian LIMIT ?, ?
?---限制多少---(page-1)*size
?---size
mybatis不允许直接传递2个参数
把limit和size保存到map中
<select id="selectByPage" resultType="zhandian" parameterType="map">
select * from zhandian limit #{limit},#{size}
</select>
2.2属性文件设置每页行数
jdbc.size=5
2.3业务类实现分页功能
//获取属性信息
@Value("${jdbc.size}")
private int size;
public List selectByPage(int page) {
// TODO Auto-generated method stub
Map param = new HashMap();
param.put("limit", (page-1)*size);
param.put("size", size);
return zdao.selectByPage(param);
}
2.4控制器实现分页
请求参数---int page---需要访问的页码
回传---总数量total、页码page、总页码totalpage、数据list
/**
* 分页查询
* @param page 访问的页码
* @return 数据展示页
*/
@RequestMapping("/selectByPage")
public String selectByPage(int page) {
//总数量total、页码page、总页码totalpage、数据list
int total = zs.selectCount();
//获取size
int size = zs.getSize();
//int totalpage = (total%size==0)?total/size : total/size+1;
int totalpage = (total+size-1)/size;
List list = zs.selectByPage(page);
request.setAttribute("total", total);
request.setAttribute("page", page);
request.setAttribute("totalpage", totalpage);
request.setAttribute("list", list);
return "zhandian/list";
}
2.5页面实现分页脚本
<!-- 分页工具条 -->
<div class="row">
<div class="col-sm-4">
<div id="pagerInfo">共${total }条数据,${page }/${totalpage }页</div>
</div>
<div class="col-sm-8">
<nav id="pagerNav">
<ul class="pagination pagination-sm pull-right">
<li><a href="javascript:next(1);" id="firstBtn">首页</a></li>
<li><a href="javascript:next(${page-1 });" id="prevBtn">上页</a></li>
<li><a href="javascript:next(${page+1 });" id="nextBtn">下页</a></li>
<li><a href="javascript:next(${totalpage });" id="lastBtn">末页</a></li>
</ul>
</nav>
</div>
</div>
js脚本
<script type="text/javascript">
function next(page) {
location = 'zhandian/selectByPage?page='+page;
}
</script>
还可以在首页和尾页做一个验证,使程序更加完善
function next(page) {
if('${page}'==1 && page<=1){
layer.msg("当前已经是第一页");
}else if('${page}'=='${totalpage}'&& page>='${totalpage}'){
layer.msg("当前已经是最后一页");
}else{
location='zhandian/selectByPage?page='+page;
}
}
最后记录一下项目视图和效果图
总结
以上就是有关分页查询的总结啦,等到下次忘记了就来这里看看吧
更多推荐
JAVA WEB实现分页查询
发布评论