PagerFilter.java
上传用户:kimgenplus
上传日期:2016-06-05
资源大小:20877k
文件大小:1k
源码类别:

OA系统

开发平台:

Java

  1. package com.bjsxt.oa.web;
  2. import java.io.IOException;
  3. import javax.servlet.Filter;
  4. import javax.servlet.FilterChain;
  5. import javax.servlet.FilterConfig;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.ServletRequest;
  8. import javax.servlet.ServletResponse;
  9. import javax.servlet.http.HttpServletRequest;
  10. import com.bjsxt.oa.SystemContext;
  11. public class PagerFilter implements Filter {
  12. public void destroy() {
  13. }
  14. public void doFilter(ServletRequest request, ServletResponse response,
  15. FilterChain chain) throws IOException, ServletException {
  16. HttpServletRequest httpRequest = (HttpServletRequest)request;
  17. SystemContext.setOffset(getOffset(httpRequest));
  18. SystemContext.setPagesize(getPagesize(httpRequest));
  19. try{
  20. chain.doFilter(request, response);
  21. }finally{
  22. //清空ThreadLocal中的值
  23. SystemContext.removeOffset();
  24. SystemContext.removePagesize();
  25. }
  26. }
  27. protected int getOffset(HttpServletRequest request){
  28. int offset = 0;
  29. try {
  30. offset = Integer.parseInt(request.getParameter("pager.offset"));
  31. } catch (NumberFormatException ignore) {
  32. }
  33. return offset;
  34. }
  35. protected int getPagesize(HttpServletRequest request){
  36. return 10;
  37. }
  38. public void init(FilterConfig arg0) throws ServletException {
  39. }
  40. }