SSH的分页实现
2009-12-15 13:45
183 查看
1: 我们需要下载page标签的jar包; pager-taglib.jar
[样例代码]: http://jsptags.com/tags/navigation/pager/pager-taglib-2.0.war
解压war文件 在{..}/WEB-INF/lib/pager-taglib.jar
2:把这个jar 拷贝到你的web工程的lib中;
3: 3-1 该标签需要我们提供1个最关键的参数 ---》 总数据量 select count(*)的值
3-2 每页显示的记录数
3-3 页码的个数
3-4 你的这个应用的url
3-5 如果你的这个应用有参数的场合 你需要设置url的参数
4:默认的场合查询数据库的开始索引 的参数名称为pager.offset
5:
后台的处理
后台的action中 在request.getParameter("pager.offset"); 里得到查询数据库的开始索引
并计算查询的总数据量并将计算的结果保存在requset.setAttribute('totalpage');
把相关的查询结果设置到requset.setAttribute('xxlist');
6: 前台处理
在相应jsp页面上添加 <%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg" %>
取得count(*)的值
<%
Integer totalPage = (Integer)request.getAttribute("totalPage");
%>
<pg:pager
items="<%=totalPage%>" ----》count(*)值
index="center" (忽略)
maxPageItems="5" 每页显示的多少行数据 这个参数和我们hibernate中 maxResult 是一致的
maxIndexPages="10" 显示的最大页码
isOffset="<%= true %>" (忽略)
export="offset,currentPageNumber=pageNumber" (忽略)
scope="request" (忽略)
url="stdM.do"> 你的具体业务的url(忽略)
<pg:param name="method" value="list"/> url 固定的参数设置可以有多个
数据的迭代
<c:forEach items="${stdList}" var="std">
<tr>
<td>${std.id}</td>
<td>${std.name}</td>
<td>${std.classes.name}</td>
<tr>
</c:forEach>
如何显示页码的程序
<pg:index> 页码的标签
<pg:prev export="pageUrl" ifnull="<%= true %>"> 前一页的标签
<% if (pageUrl != null) { %> 第一页的时候没有上一页的判断
<a href="<%= pageUrl %>">[上一页]</a>
<% } %>
</pg:prev>
<pg:pages>
<% if (pageNumber == currentPageNumber) { %> 判断那个是当前页 当前页没有连接并变颜色
<font color=#A90A08><%= pageNumber %></font>
<% } else { %>
<a href="<%= pageUrl %>"><%= pageNumber %></a>
<% } %>
</pg:pages>
<pg:next export="pageUrl" ifnull="<%= true %>"> 下一页的标签
<% if (pageUrl != null) { %> 最后一页的时候没有下一页的判断
<a href="<%= pageUrl %>">[下一页]</a></td>
<% }%>
</pg:next>
</pg:index>
</pg:pager> 收尾
[样例代码]: http://jsptags.com/tags/navigation/pager/pager-taglib-2.0.war
解压war文件 在{..}/WEB-INF/lib/pager-taglib.jar
2:把这个jar 拷贝到你的web工程的lib中;
3: 3-1 该标签需要我们提供1个最关键的参数 ---》 总数据量 select count(*)的值
3-2 每页显示的记录数
3-3 页码的个数
3-4 你的这个应用的url
3-5 如果你的这个应用有参数的场合 你需要设置url的参数
4:默认的场合查询数据库的开始索引 的参数名称为pager.offset
5:
后台的处理
后台的action中 在request.getParameter("pager.offset"); 里得到查询数据库的开始索引
并计算查询的总数据量并将计算的结果保存在requset.setAttribute('totalpage');
把相关的查询结果设置到requset.setAttribute('xxlist');
6: 前台处理
在相应jsp页面上添加 <%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg" %>
取得count(*)的值
<%
Integer totalPage = (Integer)request.getAttribute("totalPage");
%>
<pg:pager
items="<%=totalPage%>" ----》count(*)值
index="center" (忽略)
maxPageItems="5" 每页显示的多少行数据 这个参数和我们hibernate中 maxResult 是一致的
maxIndexPages="10" 显示的最大页码
isOffset="<%= true %>" (忽略)
export="offset,currentPageNumber=pageNumber" (忽略)
scope="request" (忽略)
url="stdM.do"> 你的具体业务的url(忽略)
<pg:param name="method" value="list"/> url 固定的参数设置可以有多个
数据的迭代
<c:forEach items="${stdList}" var="std">
<tr>
<td>${std.id}</td>
<td>${std.name}</td>
<td>${std.classes.name}</td>
<tr>
</c:forEach>
如何显示页码的程序
<pg:index> 页码的标签
<pg:prev export="pageUrl" ifnull="<%= true %>"> 前一页的标签
<% if (pageUrl != null) { %> 第一页的时候没有上一页的判断
<a href="<%= pageUrl %>">[上一页]</a>
<% } %>
</pg:prev>
<pg:pages>
<% if (pageNumber == currentPageNumber) { %> 判断那个是当前页 当前页没有连接并变颜色
<font color=#A90A08><%= pageNumber %></font>
<% } else { %>
<a href="<%= pageUrl %>"><%= pageNumber %></a>
<% } %>
</pg:pages>
<pg:next export="pageUrl" ifnull="<%= true %>"> 下一页的标签
<% if (pageUrl != null) { %> 最后一页的时候没有下一页的判断
<a href="<%= pageUrl %>">[下一页]</a></td>
<% }%>
</pg:next>
</pg:index>
</pg:pager> 收尾
相关文章推荐
- ssh实现查询分页
- SSH:分页实现
- 封装简单分页实现SSH(HQL语句)
- schemaeasyui实例:SSh结合Easyui实现Datagrid的分页显示
- ssh实现分页显示
- 基于SSH的分页查询实现
- 实例:SSh结合Easyui实现Datagrid的分页显示
- SSH实现分页查询(转)
- ssh整合问题总结--使用HibernateTemplate实现数据分页展示
- ssh实现分页
- ssh分页的实现
- SSH:分页实现
- SSH——基于datagrid实现分页查询
- SSH pager-taglib分页的实现
- SSH:Hibernate框架(Hibernate实现分页和综合查询详解)
- SSh结合Easyui实现Datagrid的分页显示
- SSH实现分页功能
- SSH分页(Hibernate实现简单分页查询)
- SSH 完美实现分页显示
- 学习SSH时的练习demo,实现分页和登录等简单功能