自动实现分页---分页标签"pg"使用
2012-09-24 16:36
295 查看
把pager-taglib .jar放到lib目录下(仅此足亦,完全没必要改 web.xml什么的,还有官方war包中的东西都可以不要)
Java 代码
范例
<%@ taglib uri= "http://jsptags.com/tags/navigation/pager" prefix= "pg" %>
<pg:pager items="${pager.total}" url="/ucenter/searchHotelAction.do" maxIndexPages="5" export="currentPageNumber=pageNumber" maxPageItems="10" >
<pg:param name="Name_firstleaveCityName" value="${Name_firstleaveCityName}"></pg:param>
<pg:param name="HotelName" value="${HotelName}"></pg:param>
<pg:first><span><a href="${pageUrl}">首页</a></span></pg:first>
<pg:prev><span><a href="${pageUrl}">前页</a></span></pg:prev>
<pg:pages>
<c:choose>
<c:when test="${pageNumber eq currentPageNumber }">
<span class="current">${pageNumber}</span>
</c:when>
<c:otherwise>
<a href="${pageUrl }"><span>${pageNumber}</span></a>
</c:otherwise>
</c:choose>
</pg:pages>
<pg:next><span><a href="${pageUrl}">下页</a></span></pg:next>
<pg:last><span><a href="${pageUrl}">尾页</a></span></pg:last>
</pg:pager>
插件默认会暴露pager.offset这个参数传给后台,所以需要创建一个Pager对象,用来在后台获取offset参数值
标签讲解:从页面里可以看到,这里使用了几个标签
1、<pg:pager>,在这个标签库里就充当着一个领袖的作用,一切子标签都在它里面工作。就以上出现的参数进行解释一下:
items:数据的纪录数 ,上边的el表达式${pager.total}就是在pager对象中取得total值,当然total是你自己查询赋进去的
maxPageItems:显示最多的纪录数/页
maxIndexPages:显示最多的分页数/次,如设为5的话,则会出现这样的情况 1 2 3 4 5 .或 3 4 5 6 7 这样的形式,其实她自带的DEMO都喜欢把页数展现出来排成一排。
isOffset:与pg:item配套使用
export:这个属性比较重要,文档也对此作好相对长篇幅的说明。这个属性是让标签给你暴露什么变量,当然这些变量是有选择的,如在Pager 标签里,可以暴露出来的变量有pageOffset及pageNumber,即页码偏移量及页码。通过这两个变量名,可以在Jsp或Java里面从 Request里获得。Export属性接受的值还有表达式,如currentPage=pageNumber表示,把pageNumber的值暴露出来,并赋给一个叫CurrentPage的变量,这个变量将被保存到Request中,在Jsp或Java中可以得到。
scope:咳。还需要讲么?
2、<pg:param>这个标签很有用,用来设置将要加入到URL的参数。使用Name属性指定即可。对于中文参数,有时会有乱码问题,可以将参数拿出来单独书写,格式为
<a href="${pageUrl}&hotelName=${hotelName}">下页</a>,其中hotelName表示一个中文参数,这样可以避免插件本身指定编码方式造成的乱码问题
3 上例中的<pg:pages>里边内容可以看成固定写法,原封不动拷过去就可以了,当然 <pg:next> <pg:last>里边内容也是可以直接拷过去的
3、<pg:index>这个标签说明分页条显示的内容,在这里你可以设置各种风格的分页显示方式,本例是google风格的分页条。
4, <pg:prev> , <pg:pages>,<pg:next>这些标签都是导航标签顾名思义,你一看例子就明白了,我就不用讲了吧。
Java 代码
范例
<%@ taglib uri= "http://jsptags.com/tags/navigation/pager" prefix= "pg" %>
<pg:pager items="${pager.total}" url="/ucenter/searchHotelAction.do" maxIndexPages="5" export="currentPageNumber=pageNumber" maxPageItems="10" >
<pg:param name="Name_firstleaveCityName" value="${Name_firstleaveCityName}"></pg:param>
<pg:param name="HotelName" value="${HotelName}"></pg:param>
<pg:first><span><a href="${pageUrl}">首页</a></span></pg:first>
<pg:prev><span><a href="${pageUrl}">前页</a></span></pg:prev>
<pg:pages>
<c:choose>
<c:when test="${pageNumber eq currentPageNumber }">
<span class="current">${pageNumber}</span>
</c:when>
<c:otherwise>
<a href="${pageUrl }"><span>${pageNumber}</span></a>
</c:otherwise>
</c:choose>
</pg:pages>
<pg:next><span><a href="${pageUrl}">下页</a></span></pg:next>
<pg:last><span><a href="${pageUrl}">尾页</a></span></pg:last>
</pg:pager>
插件默认会暴露pager.offset这个参数传给后台,所以需要创建一个Pager对象,用来在后台获取offset参数值
标签讲解:从页面里可以看到,这里使用了几个标签
1、<pg:pager>,在这个标签库里就充当着一个领袖的作用,一切子标签都在它里面工作。就以上出现的参数进行解释一下:
items:数据的纪录数 ,上边的el表达式${pager.total}就是在pager对象中取得total值,当然total是你自己查询赋进去的
maxPageItems:显示最多的纪录数/页
maxIndexPages:显示最多的分页数/次,如设为5的话,则会出现这样的情况 1 2 3 4 5 .或 3 4 5 6 7 这样的形式,其实她自带的DEMO都喜欢把页数展现出来排成一排。
isOffset:与pg:item配套使用
export:这个属性比较重要,文档也对此作好相对长篇幅的说明。这个属性是让标签给你暴露什么变量,当然这些变量是有选择的,如在Pager 标签里,可以暴露出来的变量有pageOffset及pageNumber,即页码偏移量及页码。通过这两个变量名,可以在Jsp或Java里面从 Request里获得。Export属性接受的值还有表达式,如currentPage=pageNumber表示,把pageNumber的值暴露出来,并赋给一个叫CurrentPage的变量,这个变量将被保存到Request中,在Jsp或Java中可以得到。
scope:咳。还需要讲么?
2、<pg:param>这个标签很有用,用来设置将要加入到URL的参数。使用Name属性指定即可。对于中文参数,有时会有乱码问题,可以将参数拿出来单独书写,格式为
<a href="${pageUrl}&hotelName=${hotelName}">下页</a>,其中hotelName表示一个中文参数,这样可以避免插件本身指定编码方式造成的乱码问题
3 上例中的<pg:pages>里边内容可以看成固定写法,原封不动拷过去就可以了,当然 <pg:next> <pg:last>里边内容也是可以直接拷过去的
3、<pg:index>这个标签说明分页条显示的内容,在这里你可以设置各种风格的分页显示方式,本例是google风格的分页条。
4, <pg:prev> , <pg:pages>,<pg:next>这些标签都是导航标签顾名思义,你一看例子就明白了,我就不用讲了吧。
相关文章推荐
- 使用pager标签实现自动分页
- Java中的\"goto\"实现 使用标记(标签)
- 用hibernate实现动态查询+分页的模板,另附struts2的标签在分页中的使用
- 使用struts2标签,从后台读取数据时实现横向循环然后在自动换行循环
- mybatis 使用collection标签实现一对多查询(多分页使用)
- Mybatis使用拦截器自动分页实现/使用反射替换sql代码分页
- 织梦dedecms v5.7使用sql标签实现静态分页
- 使用事务实现--转账问题:从0001账户转1000块到0002账户。打开"隐式事务":设置为开,删除表中数据,回滚!(默认情况为关,如果打开了则不自动提交,学要手动提交)
- 使用VSCode编写jsx代码时如何实现标签自动补齐
- Android使用ViewPager+Fragment实现标签分页
- Gridview使用LINQ与ObjectDataSource实现自动分页和排序
- 织梦dedecms v5.7使用sql标签实现静态分页 3ff0
- 浏览器默认<input type="file"/>标签路径为虚拟路径,获取真实路径需要使用File类的API实现
- Swift - 分页菜单的实现(使用PagingMenuController库实现tab标签切换)
- (ThreadLocal版本)Mybatis使用拦截器自动分页实现/使用反射替换sql代码分页
- PHPCMS使用get标签获取文章列表过滤重复标题并实现分页
- 织梦使用{dede:listsql}标签调用数据并实现静态分页
- 使用gulp实现文件更改自动刷新
- Unity使用lua行为树实现(可实现rpg挂机自动战斗)