在pom配置文件中,引入jar包,如果是分模块的可以在总的pom文件下引入。
com.github.pagehelper
pagehelper
5.1.2
加在
中
mysql
true //最后页的下一页或者首页的上一页时,自动处理错误
@RequestMapping("/findAll.do")
public String getAllDoctor(@RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "5") int size) {
List all = docService.getAllDoctor(page, size); //得到所有信息
//...
}
@RequestParam(defaultValue = "1")
、@RequestParam(defaultValue = "5")
设置没有参数的时候默认值
@Override
public List getAllDoctor(int page, int size) {
PageHelper.startPage(page,size);
return iDoctorDao.getAllDoctor(page,size);
}
@RequestMapping( value = "/ajaxGetAllDoctor.do",produces = "application/json; charset=utf-8")
@ResponseBody
public String getAllDoctor(@RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "5") int size) {
List all = docService.getAllDoctor(page, size); //得到所有信息
//...
PageInfo pageInfo = new PageInfo(all);
//...
}
PageInfo 对象要添加在Model中,可以直接页面中通过PageInfo 对象设置请求的 页号和条数
@RequestMapping( value = "/ajaxGetAllDoctor.do",produces = "application/json; charset=utf-8")
@ResponseBody
public String getAllDoctor(@RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "5") int size) {
List all = docService.getAllDoctor(page, size);
PageInfo pageInfo = new PageInfo(all);
int pageNum = pageInfo.getPageNum(); //获取当前分页页号
int pages = pageInfo.getPages(); //获取总的页数
JSONArray array = new JSONArray();
List list = pageInfo.getList(); //得到分页的结果
for (Doctor doctortemp: list ) {
JSONObject jsonItem = new JSONObject();
//..处理数据
array.put(jsonItem); //将一个医生信息的json对象加入到array中
}
JSONObject json = new JSONObject();
json.put("doctorList",array); //将医生的信息列表加入到json
json.put("pageNum",pageNum); //将当前页号传入到json
json.put("pages",pages); //将总的页数传入到json
return json.toString();
}
function getDoctorList(page,size) {
page=page||1;
size=size||5; //设置默认第一页,每页5条记录
$.ajax({
url : "/Administrator/ajaxGetAllDoctor.do",
type : "POST",
data : {
page: page,
size: size
},
dataType : "json",
//处理后端返回的数据
success : function(result) {
var doctorList = result.doctorList; //得到结果
var pageNum = result.pageNum; //当前页数
var pages = result.pages; //总页数
//处理doctorList
$("#content").html("");
$.each(doctorList,function (index, item) {
});
/************************************************************************/
if(pageNum>0 && pages>0) {
//***重要:清除之前绑定的,不然绑定多个,就会触发多个
$("#first-page").unbind("click");
$("#pre-page").unbind("click");
$("#next-page").unbind("click");
$("#last-page").unbind("click");
$("#pages").text(pages); //设置总页数
$("#first-page").click(function () { //首页
getDoctorList(1,size)
});
$("#current-page").text(pageNum);//设置当前页
$("#pre-page").click(function () { //上一页
getDoctorList(pageNum-1,size)
});
$("#next-page").click(function () { //下一页
if(pageNum
$("#size-select").change(function(){
var size = $("#size-select option:selected").val();
getDoctorList(1,size);
});