当前位置:编程学习 > JAVA >>

Pager-taglib在项目中的使用

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

     代码如下


[java] 
<SPAN style="FONT-SIZE: 18px">  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 pagesizevalue){ 
            pagesize.set(pagesizevalue); 
        } 
         
        public static void removePagesize(){ 
            pagesize.remove(); 
        } 
         
    } 
</SPAN> 

 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 pagesizevalue){
   pagesize.set(pagesizevalue);
  }
  
  public static void removePagesize(){
   pagesize.remove();
  }
  
 }

 


 

 

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

     代码如下:


[java]
<SPAN style="FONT-SIZE: 18px">  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; 
        &n

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,