一、html静态页改jsp页
先增加page指令
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
再更改html页后缀为jsp
二、实现分页查询
1、在jdbc.properties中设置每页最大展示多少条数据
jdbc.size=5
2、在dao层处理
定义两个方法:统计数量
//实现分页
int selectCount();
List selectByPage(Map page);
3、在Mapper.xml中书写两个方法的查询语句
SELECT * FROM zhandian LIMIT ?, ?
?---限制多少---(page-1)*size
?---size
mybatis不允许直接传递2个参数
把limit和size保存到map中
<select id="selectCount" resultType="int">
select count(*) from users
</select>
<select id="selectByPage" resultType="users" parameterType="map">
select * from users limit #{limit},#{size}
</select>
4、业务类实现分页功能
//取出属性文件
@Value("${jdbc.size}")
private int size;
@Override
public int selectCount() {
// TODO Auto-generated method stub
return uDao.selectCount();
}
@Override
public List selectByPage(int page) {
Map param = new HashMap();
param.put("limit", (page-1)*size);
param.put("size", size);
return uDao.selectByPage(param);
}
5、控制器实现分页
请求参数---int page---需要访问的页码
回传---总数量total、页码page、总页码totalpage、数据list
获取size:
在UsersServiceImpl.java中增加
public int getSize() {
return size;
}
在UsersService.java中增加
public int getSize();
/**
* 分页查询
* @param page 访问的页码
* @return 数据展示页
*/
@RequestMapping("/selectByPage")
public String selectByPage(int page) {
//总数量
int total = us.selectCount();
//获取size
int size = us.getSize();
//页码page
//总页码totalpage
//int totalpage = (total%size==0)?total/size : total/size+1;
int totalpage = (total+size-1)/size;
//数据list
List list = us.selectByPage(page);
//回传
request.setAttribute("total", total);
request.setAttribute("page", page);
request.setAttribute("totalpage", totalpage);
request.setAttribute("list", list);
return "users/list";
}
不在请求selectList,直接请求第一页
6、页面实现分页脚本(在list.jsp)
<!-- 分页工具条 -->
<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>
list.jsp控制(next方法)
function next(page){
if(${page}==1 && page<=1){
layer.msg("当前已经是第一页了");
}else if(${page}==${totalpage} && page>=${totalpage}){
layer.msg("当前已经是最后页了");
}else{
location = 'zhandian/selectByPage?page='+page;
}
}
7、给删除添加点击事件