jsp页面

  <!-- 页码 -->
<div class="ipRListNav2">
<a href="zyxx.do?findZyxx&currentPage=1">首页</a>&nbsp;
<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&currentPage=${p+1}">下一页</a>&nbsp;
</c:if>
</c:if>
<c:if test="${p>1}">
<c:if test="${p<page.totalPage}">
<a href="zyxx.do?findZyxx&currentPage=${p-1}">上一页</a>&nbsp;
<a href="zyxx.do?findZyxx&currentPage=${p+1}">下一页</a>&nbsp;
</c:if>
<c:if test="${p==page.totalPage}">
<a href="zyxx.do?findZyxx&currentPage=${p-1}">上一页</a>&nbsp;
</c:if>
</c:if>
</c:when>
</c:choose>
</c:forEach>
<a href="zyxx.do?findZyxx&currentPage=${page.totalPage}">末页</a>&nbsp;&nbsp;&nbsp;
当前&nbsp;<span class="STYLE1">${page.currentPage}</span>/${page.totalPage}&nbsp;页&nbsp;转到
<input name="pageIndex" id="pageIndex" class="navIpt" type="text" onblur="if(this.value=='' || Number(this.value)!=this.value)this.value=1;" value="1" />页&nbsp;
<input name="" value="GO" class="navBtn" type="button" onclick="goPage2(document.getElementById('pageIndex').value);" />&nbsp;
</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&currentPage="+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  &lt; #{end} and r &gt; #{begin}
<!-- select * from zyml_table --> </select>

效果展示

最新文章

  1. Java实现购物车功能:方式一:存放在session中.方式二:存储在数据库中
  2. 如何搭建一个WAMP环境
  3. stream的seek方法实例
  4. 三进制状压 HDOJ 3001 Travelling
  5. ios 应用程序图标、启动画面、itune图标设置
  6. 菜鸟学Linux命令:bg fg jobs命令 任务管理
  7. 【C语言】printf函数详解
  8. 与你们分享我学习linux系统的三大妙招
  9. jquery.cookie的path坑
  10. linux --- 部署前后端分离项目
  11. Java高级特性 第1节 集合框架和泛型
  12. 传多个id 存入一个容器里,让另一个页面接受并显示数据
  13. python2.7中不同类型之间的比大小
  14. thymeleaf使用基础教程
  15. js字符串解析成数字
  16. Bootstrap模态框modal的高度和宽度设置
  17. calayer defaultValueForKey
  18. Week Four
  19. 输入http://localhost/,apache出现You don&#39;t have permission to access/on this server.的提示,如何解决?
  20. DOM事件里封装方法eventUtil

热门文章

  1. [spoj] HIGH - Highways (生成树计数)
  2. rsync实时同步mysql数据库
  3. Hash大法
  4. tp框架引入第三方sdk的经验总结
  5. Git学习总结(9)——如何构建你自己的 Git 服务器
  6. HDU 4089
  7. hdu 4628 Pieces(状态压缩+记忆化搜索)
  8. Medium上的文章
  9. oracle 11g rac for linux add node (oracle 11g rac 节点添加)
  10. C++提高速度