Mybaties下的分页功能的实现
2024-08-31 12:16:06
jsp页面
<!-- 页码 -->
<div class="ipRListNav2">
<a href="zyxx.do?findZyxx¤tPage=1">首页</a>
<c:forEach begin="1" end="${page.totalPage}" var="p" >
<c:choose>
<c:when test="${page.currentPage==p}">
<c:if test="${p==1}">
<c:if test="${page.totalPage>1}">
<a href="zyxx.do?findZyxx¤tPage=${p+1}">下一页</a>
</c:if>
</c:if>
<c:if test="${p>1}">
<c:if test="${p<page.totalPage}">
<a href="zyxx.do?findZyxx¤tPage=${p-1}">上一页</a>
<a href="zyxx.do?findZyxx¤tPage=${p+1}">下一页</a>
</c:if>
<c:if test="${p==page.totalPage}">
<a href="zyxx.do?findZyxx¤tPage=${p-1}">上一页</a>
</c:if>
</c:if>
</c:when>
</c:choose>
</c:forEach>
<a href="zyxx.do?findZyxx¤tPage=${page.totalPage}">末页</a>
当前 <span class="STYLE1">${page.currentPage}</span>/${page.totalPage} 页 转到
<input name="pageIndex" id="pageIndex" class="navIpt" type="text" onblur="if(this.value=='' || Number(this.value)!=this.value)this.value=1;" value="1" />页
<input name="" value="GO" class="navBtn" type="button" onclick="goPage2(document.getElementById('pageIndex').value);" />
</div>
<script type="text/javascript">
function goPage2(currentPage){
alert("go");
var total = ${page.totalPage};
var index = currentPage.indexOf(".");
if(index!=-1){
alert("输入数字必须为整数!请重新输入!");
return;
}
if(currentPage<=0){
alert("输入必须大于0!请重新输入!");
return;
}
if(currentPage>total){
alert("输入数字过大!请重新输入!");
return;
} location.href="zyxx.do?findZyxx¤tPage="+currentPage+"";
}
</script>
page 类
package org.lq.ssm.page; public class Page { // 分页时输入的参数
private int currentPage = 1; // 当前页码
private int pageSize = 10; // 每页显示的行数 // 写分页SQL时需要的条件,由输入参数计算而来
private int begin; // 当前页的起始值
private int end; // 当前页的终止值 // 用于计算总页数
private int rows; // 总行数 // 总页数,由rows和pageSize计算而来
private int totalPage; public int getBegin() {
begin = (currentPage - 1) * pageSize;
return begin;
} public int getEnd() {
end = currentPage * pageSize + 1;
return end;
} public int getTotalPage() {
if(rows==0){
totalPage = 1;
}else if (rows % pageSize == 0) {
totalPage = rows / pageSize;
} else {
totalPage = rows / pageSize + 1;
} return totalPage;
} public int getCurrentPage() {
return currentPage;
} public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
} public int getPageSize() {
return pageSize;
} public void setPageSize(int pageSize) {
this.pageSize = pageSize;
} public int getRows() {
return rows;
} public void setRows(int rows) {
this.rows = rows;
} }
Controller
@RequestMapping(params="findZyxx")
public String findZyxx(Page page,Model m){ m.addAttribute("professionList", professionBiz.findAll(page));
page.setRows( professionBiz.count());
m.addAttribute("page",page);
return "view/profession/professioninfo/professioninfo_list"; }
实现类
public List<Profession> findAll(Page page) { int begin =page.getBegin();
int end= page.getEnd(); return professionDao.findPage(begin,end);
}
mapper文件中sql
<select id="findPage" resultMap="profession_map"> select * from (select a.*,rownum r from ( select * from zyml_table ) a) where r < #{end} and r > #{begin}
<!-- select * from zyml_table --> </select>
效果展示
最新文章
- Java实现购物车功能:方式一:存放在session中.方式二:存储在数据库中
- 如何搭建一个WAMP环境
- stream的seek方法实例
- 三进制状压 HDOJ 3001 Travelling
- ios 应用程序图标、启动画面、itune图标设置
- 菜鸟学Linux命令:bg fg jobs命令 任务管理
- 【C语言】printf函数详解
- 与你们分享我学习linux系统的三大妙招
- jquery.cookie的path坑
- linux --- 部署前后端分离项目
- Java高级特性 第1节 集合框架和泛型
- 传多个id 存入一个容器里,让另一个页面接受并显示数据
- python2.7中不同类型之间的比大小
- thymeleaf使用基础教程
- js字符串解析成数字
- Bootstrap模态框modal的高度和宽度设置
- calayer defaultValueForKey
- Week Four
- 输入http://localhost/,apache出现You don&#39;t have permission to access/on this server.的提示,如何解决?
- DOM事件里封装方法eventUtil