Pager-taglib在项目中的使用 (一)

2014-11-24 10:53:18 · 作者: · 浏览: 5

1建立LocalThread类,对分页的常数进行封装

代码如下


[java]
package com.tgb.oa;
/**
*
* 采用ThreadLocal来存储分页变量.
* @author jnqqls
* @group TGB
* @version 1.0
* @comments
*/
public class SystemContext {
private static ThreadLocal offset = new ThreadLocal();
private static ThreadLocal pagesize = new ThreadLocal();

/**
* 从线程中获取offset字段
* @return
*/
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 pagesizeva lue){
pagesize.set(pagesizeva lue);
}

public static void removePagesize(){
pagesize.remove();
}

}

package com.tgb.oa;
/**
*
* 采用ThreadLocal来存储分页变量.
* @author jnqqls
* @group TGB
* @version 1.0
* @comments
*/
public class SystemContext {
private static ThreadLocal offset = new ThreadLocal();
private static ThreadLocal pagesize = new ThreadLocal();

/**
* 从线程中获取offset字段
* @return
*/
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 pagesizeva lue){
pagesize.set(pagesizeva lue);
}

public static void removePagesize(){
pagesize.remove();
}

}


2建立PagerFilter过滤器,将参数读取到ThreadLocal中.

代码如下:


[java]
package com.tgb.oa.web;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

import com.tgb.oa.SystemContext;
/**
*
* @oa_02 过滤器,获取相关分页数据.
* @author jnqqls
* @group TGB
* @version 1.0
* @comments
*/
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{