- 浏览: 299409 次
文章分类
最新评论
-
流年末年:
那四个参数还是没看懂.....能不能解释下showPassst ...
我写的密码强度验证方法(原创) -
kingcs2008:
// 验证pws.jsshowPassstrength(&qu ...
我写的密码强度验证方法(原创) -
h957355152:
请问博主这个怎么用呢?我直接放到jsp里面调用showPass ...
我写的密码强度验证方法(原创) -
qq_15138059:
我写的全国省市县三级联动菜单,拿出来和大家分享了(原创) -
valenon:
评论呢?从MAIL FROM命令开始貌似就出错了:500 Er ...
如何发送伪造的电子邮件
使用pager-taglib.jar实现的分页技术
- 博客分类:
- java
//1.导入pager-taglib.jar包;
//2.引入pager-taglib标签:<%@ taglib
prefix="pg" uri="http://jsptags.com/tags/navigation/pager
"
%>
//3.建立PagerModel类:
public class PagerModel {
private int
total;
private List
datas;
public List
getDatas() {
return datas;
}
public void
setDatas(List datas) {
this.datas = datas;
}
public int
getTotal() {
return total;
}
public void
setTotal(int total) {
this.total = total;
}
}
//4.pager业务逻辑部分:
public class AbstractManager extends HibernateDaoSupport
{
public
PagerModel searchHql(String
hql){
return
searchHql(hql,null,SystemContext.getOffset(),SystemContext.getPageSize());
}
public
PagerModel searchHql(String hql,Object
datas){
return searchHql(hql,new
Object[]{datas},SystemContext.getOffset(),SystemContext.getPageSize());
}
public
PagerModel searchHql(String hql,Object[]
datas){
return
searchHql(hql,datas,SystemContext.getOffset(),SystemContext.getPageSize());
}
public
PagerModel searchHql(String hql,int offset,int
pageSize){
return
searchHql(hql,null,offset,pageSize);
}
public
PagerModel searchHql(String hql,Object datas,int offset,int
pageSize){
return searchHql(hql,new
Object[]{datas},offset,pageSize);
}
public
PagerModel searchHql(String hql,Object[] datas,int offset,int
pageSize){
String countHql =
getQuery(hql);
Query query =
getSession().createQuery(countHql);
if(datas !=null && datas.length
> 0){
for(int i = 0 ;
i<datas.length;i++)
query.setParameter(i,
datas[i]);
}
int total =
((Long)query.uniqueResult()).intValue();
Query
query1=getSession().createQuery(hql);
if(datas !=null && datas.length
> 0){
for(int i = 0 ;
i<datas.length;i++)
query1.setParameter(i,
datas[i]);
}
List list
=query1.setFirstResult(offset)
.setMaxResults(pageSize).list();
PagerModel pm = new
PagerModel();
pm.setDatas(list);
pm.setTotal(total);
return pm;
}
public
String getQuery(String
hql){
int index
=hql.indexOf("from");
if(index != -1){
return "select
count(*)"+hql.substring(index);
}
throw new
SystemException("查询语句出错!");
}
}
//5.定义offset、pagesize类:
public class SystemContext
{
private
static ThreadLocal offset = new
ThreadLocal();
private
static ThreadLocal pageSize = new
ThreadLocal();
public
static int getOffset(){
Integer os =
(Integer)offset.get();
if(os == null){
return 0;
}
return os;
}
public
static void setOffset(int
offsetvalue){
offset.set(offsetvalue);
}
public
static void
removeOffset(){
offset.remove();
}
public
static int getPageSize(){
Integer ps =
(Integer)pageSize.get();
if(ps == null){
return Integer.MAX_VALUE;
}
return ps;
}
public
static void setPageSize(int
pageSizevalue){
pageSize.set(pageSizevalue);
}
public
static void
removePageSize(){
pageSize.remove();
}
}
//6.过滤器中初始化pagesize、offset:
public class PagerFilter implements Filter
{
public void
destroy() {
}
public void
doFilter(ServletRequest request, ServletResponse
response,
FilterChain chain) throws IOException, ServletException
{
HttpServletRequest httpRequest
=(HttpServletRequest)request;
SystemContext.setOffset(getOffset(httpRequest));
SystemContext.setPageSize(getPageSize(httpRequest));
try{
chain.doFilter(request,
response);
}finally{
//清空ThreadLocal中的值
SystemContext.removeOffset();
SystemContext.removePageSize();
}
}
public void
init(FilterConfig arg0) throws ServletException
{
}
public int
getOffset(HttpServletRequest
request){
int offset = 0;
try {
offset =
Integer.parseInt(request.getParameter("pager.offset"));
} catch (NumberFormatException ignore)
{
}
return offset;
}
//设置每页显示多少条记录
public int
getPageSize(HttpServletRequest
request){
return 3;
}
}
//7.配置过滤器web.xml中:
<filter>
<filter-name>pager-taglib</filter-name>
<filter-class>com.oa.util.filter.PagerFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>pager-taglib</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
//8.显示效果:
<pg:pager url="org.do" items="${pm.total }"
export="currentPageNumber=pageNumber">
<pg:param
name="parentId"/>
<pg:first>
<a href="${pageUrl}"
mce_href="${pageUrl}">首页</a>
</pg:first>
<pg:prev>
<a href="${pageUrl }" mce_href="${pageUrl
}">前页</a>
</pg:prev>
<pg:pages>
<c:choose>
<c:when test="${currentPageNumber eq pageNumber
}">
<font color="red">${pageNumber
}</font>
</c:when>
<c:otherwise>
<a href="${pageUrl }" mce_href="${pageUrl
}">${pageNumber
}</a>
</c:otherwise>
</c:choose>
</pg:pages>
<pg:next>
<a href="${pageUrl }" mce_href="${pageUrl
}">后页</a>
</pg:next>
<pg:last>
<a href="${pageUrl }" mce_href="${pageUrl
}">尾页</a>
</pg:last>
</pg:pager>
发表评论
-
java正则表达式高级用法:转换驼峰标示
2012-06-26 16:47 5749String source = "LastLog ... -
你会做Web上的用户登录功能吗?(转)
2012-06-25 13:22 1322Web上的用户登录功能应 ... -
我写的验证码生成方案,可防止绝大多数机械识别。
2012-06-20 14:59 2361web.xml <!DOCTYPE web-app ... -
如何在myeclipse中使用maven?
2012-06-11 14:22 168041.下载maven,解压到D盘ma ... -
安装subclipse, MyEclipse8 SVN插件
2012-06-09 22:39 910安装subclipse, MyEclipse8 SVN插件 ... -
PDF生成器
2012-05-28 02:53 817我自己写的一个pdf生成器,能导出百度博客为PDF -
我的自动投票器
2012-04-17 13:58 1264自动投票器,支持windows的32位机器 下面的压缩包是编 ... -
list,set,map,数组间的相互转换(转载)
2012-03-16 16:29 28191.list转set Java代码 ... -
一个给pojo生成hashcode、equals、toString等方法的工具类
2012-03-06 09:52 4218一个给pojo生成hashcode、equals、toStri ... -
ehcache的用法
2012-02-13 22:13 0Spring ... -
使用ehcache来缓存页面
2012-02-13 22:08 767关于缓存的话题,在坛子里已经有很多讨论,简单的来说,如果一个应 ... -
java笔记:自己动手写javaEE框架(二)--业务层Service以及Service单元测试
2012-02-13 00:55 0前一篇博文里有三 ... -
struts+spring+hibernate的web应用<四> Web层代码编写(2)
2012-02-13 00:50 0接着就是写资源文件了。 在 com.game. ... -
struts+spring+hibernate的web应用<四> Web层代码编写(1)
2012-02-13 00:49 1007前面的文章: ... -
struts+spring+hibernate的web应用<三> Service层代码编写
2012-02-13 00:46 822前面的文章: ... -
struts+spring+hibernate的web应用<二> Dao层代码编写
2012-02-13 00:45 828前一篇文章 (struts+spring ... -
struts+spring+hibernate的web应用<一> 架构搭建
2012-02-13 00:44 746许久没有些文章了,现 ... -
ehcache缓存管理
2012-02-12 23:52 946EHCache 是一个纯java的,在Hibernate2 ... -
检测一个字符串是否在jvm的常量池中(原创)
2012-01-11 09:07 2118检测一个字符串是否在jvm的常量池中 public ... -
我写的密码强度验证方法(原创)
2011-12-18 15:26 8319/* *说明: * 该方法主要分析密码的内容构成 ...
相关推荐
pager-taglib.jar,分页组件
pager-taglib.jar包下载.很方便的分页框架。这是jar包,希望能帮到大家
已解决中文乱码问题的 pager-taglib-2.0.jar包。
用于在jsp中进行分页的 pager-taglib包
jsp pager-taglib 分页 jar 包下载
使用pager-taglib分页,含有多种分页样式,jar包都有,只要导入就可以运行,内附有说明,java 语言的
修正了中文参数传递乱码问题的pager控件。用于jsp分页显示pager-taglib.jar。直接放到lib文件夹即可使用。
支持中文参数的java分页pager-taglib.jar
压缩包解压后为一个web工程,已调试通过,可以直接使用,其中在WEB-INF文件夹下包含了pager-taglib.jar,工程中的实例已实现分页功能,且有多种样式可选
pager-taglib-2.0完整部署运行 可以直接放到tomcat 的webapps目录中运行,lib中包含pager-taglib.jar 和 pager-src.jar
maven仓库下载的pager-taglib2.0分页时 存在中文参数乱码问题。 须修改 源文件,附件为更改源码后的 jar包
pager-taglib实现Google分页 分页基于SSH.有pager-taglib.jar包和实现的完整代码.
该资源系本人工作之余的一个小小案例,希望对大家有所帮助
pager-taglib-2.0 JSP分页组件 包括jar包和安装使用说明
用pager-taglib进行分页时,如果出现中文参数,由于pager-taglib默认是用ISO8859-1编码后进行参数传递,故会出现乱码现象。本人下载源码后,将编码的语句注释掉,即不进行编码,解决了中文乱码问题。改写后的代码已...
本资源融合了struts+spring+hibernate的集成,并充分运用jsp开源分页标签(pager-taglib)进行了分页。支持多条件的分页查询。由于上传大小限制,本人被迫将所用到的jar包目录删除,所需的几个必备jar包我已留在本...
pager-taglib的安装及使用和实例,分页不再烦,。
displaytag,pager-taglib 分页包 和源文件