国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
封裝的分頁類(類似于分頁標(biāo)簽)

PageModel類

 

Java代碼
 
  1. package com.wepull.bookSys.util;   
  2.   
  3. import java.util.ArrayList;   
  4. import java.util.HashMap;   
  5. import java.util.Iterator;   
  6. import java.util.List;   
  7. import java.util.Map;   
  8. import java.util.Set;   
  9.   
  10. import javax.servlet.http.HttpServletRequest;   
  11.   
  12. public class PageModel {   
  13.     //查詢的起始位置  limit ?,? 中的第一個參數(shù)   
  14.     private int offset;     
  15.        
  16.     //一頁顯示記錄條數(shù)  limit ?,? 中的第二參數(shù)   
  17.     private int lineSize=2//默認(rèn)值 顯示3條數(shù)據(jù)   
  18.        
  19.     //記錄總數(shù)   
  20.     private int totalRecords;   
  21.        
  22.     //存放結(jié)果集   
  23.     private List results;   
  24.        
  25.      //請求URI    
  26.     private String url;          
  27.        
  28.     //存放查詢參數(shù)   
  29.     private Map<String, String> searchParam=new HashMap<String, String>();   
  30.        
  31.        
  32.     //總頁數(shù)   
  33.     private int totalPage;   
  34.        
  35.     //當(dāng)前頁   
  36.     private int pageNo;   
  37.        
  38.     //生成的分頁表單   
  39.     private String pageList;   
  40.   
  41.        
  42.     /**  
  43.      * @return 返回當(dāng)前頁數(shù)  
  44.      */  
  45.     public int getPageNo() {   
  46.         return pageNo;   
  47.     }   
  48.   
  49.        
  50.     /**  
  51.      * @return 返回總頁數(shù)  
  52.      */  
  53.     public int getTotalPage() {   
  54.         return (totalRecords+lineSize-1)/lineSize;   
  55.     }   
  56.   
  57.     public int getOffset() {   
  58.         if(this.pageNo==0) {   
  59.             return 0;   
  60.         }   
  61.         return (this.pageNo-1)*this.lineSize;   
  62.     }   
  63.   
  64.     public void setOffset(int offset) {   
  65.         this.offset = offset;   
  66.     }   
  67.   
  68.     public int getLineSize() {   
  69.         return lineSize;   
  70.     }   
  71.   
  72.     public void setLineSize(int lineSize) {   
  73.         this.lineSize = lineSize;   
  74.     }   
  75.   
  76.   
  77.   
  78.     public int getTotalRecords() {   
  79.         return totalRecords;   
  80.     }   
  81.   
  82.     public void setTotalRecords(int totalRecords) {   
  83.         this.totalRecords = totalRecords;   
  84.     }   
  85.   
  86.     public void setTotal(int total) {   
  87.         this.totalRecords = total;   
  88.     }   
  89.   
  90.     public List getResults() {   
  91.         return results;   
  92.     }   
  93.   
  94.     public void setResults(List results) {   
  95.         this.results = results;   
  96.     }   
  97.   
  98.   
  99.     public Map<String, String> getSearchParam() {   
  100.         return searchParam;   
  101.     }   
  102.   
  103.     public void setSearchParam(Map<String, String> searchParam) {   
  104.         this.searchParam = searchParam;   
  105.     }   
  106.   
  107.   
  108.     public String getPageList() {   
  109.        
  110.         int pageCount = getTotalPage();  //計算總頁數(shù)     
  111.     //   
  112.         //拼寫要輸出到頁面的HTML文本      
  113.         StringBuilder sb = new StringBuilder();      
  114.               
  115.               
  116.         sb.append("<style type=\"text/css\">");      
  117.         sb.append(".pagination {padding: 5px;float:right;font-size:12px;}");      
  118.         sb.append(".pagination a, .pagination a:link, .pagination a:visited {padding:2px 5px;margin:2px;border:1px solid #aaaadd;text-decoration:none;color:#006699;}");      
  119.         sb.append(".pagination a:hover, .pagination a:active {border: 1px solid #ff0000;color: #000;text-decoration: none;}");      
  120.         sb.append(".pagination span.current {padding: 2px 5px;margin: 2px;border: 1px solid #B1D5F0;font-weight: bold;background-color: #B1D5F0;color: #FFF0;}");      
  121.         sb.append(".pagination span.disabled {padding: 2px 5px;margin: 2px;border: 1px solid #eee; color: #ddd;}");      
  122.         sb.append("</style>\r\n");      
  123.         sb.append("<div class=\"pagination\">\r\n");      
  124.         if(getTotalPage() == 0){      
  125.             sb.append("<strong>沒有可顯示的項目</strong>\r\n");      
  126.         }else{      
  127.             //頁號越界處理      
  128.             if(pageNo > pageCount){      pageNo = pageCount; }      
  129.             if(pageNo < 1){      pageNo = 1; }      
  130.                   
  131.             sb.append("<form method=\"post\" action=\"").append(this.url)      
  132.                 .append("\" name=\"qPagerForm\" id=\"qPagerForm1\" >\r\n");      
  133.                   
  134.             //獲取請求中的所有參數(shù)      
  135.             Set<Map.Entry<String, String>>  set =this.searchParam.entrySet();   
  136.             Iterator<Map.Entry<String, String>> it = set.iterator();    
  137.             String name = null;  //參數(shù)名      
  138.             String value = null//參數(shù)值      
  139.             //把請求中的所有參數(shù)當(dāng)作隱藏表單域      
  140.             while (it.hasNext()) {      
  141.                 Map.Entry<String, String> entry= it.next();   
  142.                 name = entry.getKey();   
  143.                 value = entry.getValue();      
  144.                 // 去除頁號      
  145.                 if (name.equals("pageNo")) {      
  146.                     if (null != value && !"".equals(value)) {      
  147.                         pageNo = Integer.parseInt(value);      
  148.                     }      
  149.                     continue;      
  150.                 }      
  151.                 sb.append("<input type=\"hidden\" name=\"")     
  152.                   .append("pm.searchParam."+name)      
  153.                   .append("\" value=\"")      
  154.                   .append(value)      
  155.                   .append("\"/>\r\n");      
  156.             }      
  157.           
  158.                
  159.             // 把當(dāng)前頁號設(shè)置成請求參數(shù)      
  160.             sb.append("<input type=\"hidden\" name=\"").append("pm.pageNo")      
  161.                 .append("\" value=\"").append(pageNo).append("\" id='pageNo1'  />\r\n");      
  162.                
  163.             // 把總頁數(shù)設(shè)置成請求參數(shù)     
  164.             sb.append("<input type=\"hidden\" name=\"").append("pm.totalRecords")      
  165.             .append("\" value=\"").append(totalRecords).append("\"  />\r\n");      
  166.                
  167.                
  168.             // 輸出統(tǒng)計數(shù)據(jù)      
  169.             sb.append(" 共<strong>").append(this.totalRecords)      
  170.                 .append("</strong>項")      
  171.                 .append(",<strong>")      
  172.                 .append(pageCount)      
  173.                 .append("</strong>頁: \r\n");      
  174.                   
  175.             //上一頁處理      
  176.             if (pageNo == 1) {      
  177.                 sb.append("<span class=\"disabled\">&laquo; 上一頁")      
  178.                     .append("</span>\r\n");      
  179.             } else {      
  180.                 sb.append("<a href=\"javascript:turnOverPage(")      
  181.                   .append((pageNo - 1))      
  182.                   .append(")\">&laquo; 上一頁</a>\r\n");      
  183.             }      
  184.                   
  185.             //如果前面頁數(shù)過多,顯示"..."      
  186.             int start = 1;       
  187.             if(this.pageNo > 4){      
  188.                 start = this.pageNo - 1;      
  189.                 sb.append("<a href=\"javascript:turnOverPage(1)\">1</a>\r\n");      
  190.                 sb.append("<a href=\"javascript:turnOverPage(2)\">2</a>\r\n");      
  191.                 sb.append("&hellip;\r\n");      
  192.             }      
  193.             //顯示當(dāng)前頁附近的頁      
  194.             int end = this.pageNo + 1;      
  195.             if(end > pageCount){      
  196.                 end = pageCount;      
  197.             }      
  198.             for(int i = start; i <= end; i++){      
  199.                 if(pageNo == i){   //當(dāng)前頁號不需要超鏈接      
  200.                     sb.append("<span class=\"current\">")      
  201.                         .append(i)      
  202.                         .append("</span>\r\n");      
  203.                 }else{      
  204.                     sb.append("<a href=\"javascript:turnOverPage(")      
  205.                         .append(i)      
  206.                         .append(")\">")      
  207.                         .append(i)      
  208.                         .append("</a>\r\n");      
  209.                 }      
  210.             }      
  211.             //如果后面頁數(shù)過多,顯示"..."      
  212.             if(end < pageCount - 2){      
  213.                 sb.append("&hellip;\r\n");      
  214.             }      
  215.             if(end < pageCount - 1){      
  216.                 sb.append("<a href=\"javascript:turnOverPage(")      
  217.                 .append(pageCount - 1)      
  218.                 .append(")\">")      
  219.                 .append(pageCount - 1)      
  220.                 .append("</a>\r\n");      
  221.             }      
  222.             if(end < pageCount){      
  223.                 sb.append("<a href=\"javascript:turnOverPage(")      
  224.                 .append(pageCount)      
  225.                 .append(")\">")      
  226.                 .append(pageCount)      
  227.                 .append("</a>\r\n");       
  228.             }      
  229.                   
  230.             //下一頁處理      
  231.             if (pageNo == pageCount) {      
  232.                 sb.append("<span class=\"disabled\">下一頁 &raquo;")      
  233.                     .append("</span>\r\n");      
  234.             } else {      
  235.                 sb.append("<a href=\"javascript:turnOverPage(")      
  236.                     .append((pageNo + 1))      
  237.                     .append(")\">下一頁 &raquo;</a>\r\n");      
  238.             }      
  239.             sb.append("</form>\r\n");      
  240.           
  241.             // 生成提交表單的JS      
  242.             sb.append("<script language=\"javascript\">\r\n");      
  243.             sb.append("  function turnOverPage(no){\r\n");      
  244.             sb.append("    if(no>").append(pageCount).append("){");      
  245.             sb.append("      no=").append(pageCount).append(";}\r\n");      
  246.             sb.append("    if(no<1){no=1;}\r\n");      
  247.             sb.append("    document.getElementById('pageNo1').value=no;\r\n");      
  248.             sb.append("    document.getElementById('qPagerForm1').submit();\r\n");      
  249.             sb.append("  }\r\n");      
  250.             sb.append("</script>\r\n");      
  251.         }      
  252.         sb.append("</div>\r\n");     
  253.     //   
  254.            
  255.            
  256.            
  257.         System.out.println(sb.toString());   
  258.         return sb.toString();   
  259.        
  260.        
  261.     }   
  262.   
  263.   
  264.     public String getUrl() {   
  265.         return url;   
  266.     }   
  267.   
  268.   
  269.     public void setUrl(String url) {   
  270.         this.url = url;   
  271.     }   
  272.   
  273.   
  274.     public void setPageNo(int pageNo) {   
  275.         this.pageNo = pageNo;   
  276.     }   
  277.   
  278.   
  279.        
  280.   
  281.   
  282.   
  283.   
  284.   
  285.   
  286.        
  287. }  

 BookAction中使用

Java代碼
 
  1. package com.wepull.bookSys.action;   
  2.   
  3. import java.util.List;   
  4.   
  5. import javax.servlet.http.HttpServletRequest;   
  6.   
  7. import org.apache.struts2.ServletActionContext;   
  8.   
  9. import com.mysql.jdbc.util.ServerController;   
  10. import com.opensymphony.xwork2.ActionSupport;   
  11. import com.wepull.bookSys.biz.BookBiz;   
  12. import com.wepull.bookSys.biz.TypeBiz;   
  13. import com.wepull.bookSys.dto.BookDto;   
  14. import com.wepull.bookSys.dto.TypeDto;   
  15. import com.wepull.bookSys.entity.Book;   
  16. import com.wepull.bookSys.util.PageModel;   
  17.   
  18. public class BookAction extends ActionSupport {   
  19.     private BookBiz bookBiz;   
  20.     private TypeBiz typeBiz;   
  21.        
  22.     private BookDto bookDto;   
  23.     private List<BookDto> bookList ;   
  24.     private List<TypeDto> typeList;   
  25.     private PageModel pm = new PageModel();   
  26.     private PageControllerTag pc = new PageControllerTag();   
  27.        
  28.        
  29.        
  30.   
  31.   
  32.     public List<TypeDto> getTypeList() {   
  33.         return typeList;   
  34.     }   
  35.     public String list(){   
  36.            
  37.      HttpServletRequest request = ServletActionContext.getRequest();   
  38.            
  39.      String url =  (request.getRequestURL()).toString()+"?"+request.getQueryString();   
  40.         System.out.println(url);   
  41.         pm = bookBiz.list(pm);   
  42.         bookList = pm.getResults();   
  43.         pm.setUrl(url);   
  44.         return SUCCESS;   
  45.            
  46.     }   
  47.        
  48.        
  49. /   
  50.        
  51.        
  52.        
  53.        
  54.     public void setBookBiz(BookBiz bookBiz) {   
  55.         this.bookBiz = bookBiz;   
  56.     }   
  57.   
  58.     public void setBookDto(BookDto bookDto) {   
  59.         this.bookDto = bookDto;   
  60.     }   
  61.     public BookDto getBookDto() {   
  62.         return bookDto;   
  63.     }   
  64.        
  65.     public List<BookDto> getBookList() {   
  66.         return bookList;   
  67.     }   
  68.     public void setTypeBiz(TypeBiz typeBiz) {   
  69.         this.typeBiz = typeBiz;   
  70.     }   
  71.     public PageModel getPm() {   
  72.         return pm;   
  73.     }   
  74.     public void setPm(PageModel pm) {   
  75.         this.pm = pm;   
  76.     }   
  77.     public void setBookList(List<BookDto> bookList) {   
  78.         this.bookList = bookList;   
  79.     }   
  80. }  

 BookBiz中使用

Java代碼
 
  1. package com.wepull.bookSys.biz;   
  2.   
  3. import java.util.ArrayList;   
  4. import java.util.List;   
  5.   
  6. import org.springframework.beans.BeanUtils;   
  7.   
  8. import com.wepull.bookSys.dao.BookDao;   
  9. import com.wepull.bookSys.dao.TypeDao;   
  10. import com.wepull.bookSys.dto.BookDto;   
  11. import com.wepull.bookSys.dto.TypeDto;   
  12. import com.wepull.bookSys.entity.Book;   
  13. import com.wepull.bookSys.entity.Type;   
  14. import com.wepull.bookSys.util.PageModel;   
  15.   
  16. public class BookBizImpl implements BookBiz {   
  17.   
  18.     private BookDao bookDao;   
  19.     private TypeDao typeDao;   
  20.        
  21.   
  22.   
  23.     public PageModel list(PageModel pm) {   
  24.         System.out.println("biz層--list()");   
  25.         List<BookDto> listDto = new ArrayList<BookDto>();   
  26.         List<Book> listEntity =  bookDao.list(pm).getResults();   
  27.            
  28.            
  29.            
  30.         for (Book book : listEntity) {   
  31.             BookDto bookDto = new BookDto();   
  32.             System.out.println(book.getType().getName());   
  33.             BeanUtils.copyProperties(book, bookDto);   
  34.                
  35.             //實體類book與bookDto中不是同名屬性的需要手動 處理   
  36.             Type type = book.getType();   
  37.             TypeDto typeDto = new TypeDto();   
  38.                
  39.             BeanUtils.copyProperties(type, typeDto);   
  40.                
  41.             bookDto.setTypeDto(typeDto);   
  42.                
  43.             listDto.add(bookDto);   
  44.         }   
  45.         pm.setResults(listDto);   
  46.         return pm;   
  47.     }   
  48.        
  49.        
  50.     public void setBookDao(BookDao bookDao) {   
  51.         this.bookDao = bookDao;   
  52.     }   
  53.   
  54.     public void setTypeDao(TypeDao typeDao) {   
  55.         this.typeDao = typeDao;   
  56.     }   
  57.   
  58.     public Book test(int id) {   
  59.         Book book = bookDao.test(id);   
  60.         return book;   
  61.     }   
  62.   
  63.        
  64.   
  65.   
  66. }  

 BookDao中使用

 

Java代碼
 
  1. package com.wepull.bookSys.dao;   
  2.   
  3. import java.util.List;   
  4. import java.util.Map;   
  5.   
  6.   
  7. import org.hibernate.Criteria;   
  8. import org.hibernate.Session;   
  9. import org.hibernate.criterion.Projections;   
  10. import org.hibernate.criterion.Restrictions;   
  11. import org.springframework.orm.hibernate3.support.HibernateDaoSupport;   
  12.   
  13.   
  14. import com.wepull.bookSys.entity.Book;   
  15. import com.wepull.bookSys.util.PageModel;   
  16.   
  17. public class BookDaoImpl extends EntityDao implements BookDao {   
  18.        
  19.        
  20.        
  21.     public void add(Book book) {   
  22.         this.getHibernateTemplate().save(book);   
  23.     }   
  24.   
  25.     public void delete(int id) {   
  26.         Book book = findById(id);   
  27.         this.getHibernateTemplate().delete(book);   
  28.            
  29.            
  30.            
  31. //      Session session = sessionFactory.getCurrentSession();   
  32. //      Query  q =  session.createQuery("delete from Book b where b.id = :id");   
  33. //      q.setInteger("id", id).executeUpdate();   
  34.     }   
  35.   
  36.     public Book findById(int id) {   
  37.         return(Book) this.getHibernateTemplate().get(Book.class, id);   
  38.     }   
  39.   
  40.     public PageModel list(PageModel pm) {   
  41.            
  42.         Map<String, String> map = pm.getSearchParam();   
  43.         String bookName = map.get("bookName"); //"查詢參數(shù)bookName   
  44.         String typeName = map.get("typeName"); //查詢參數(shù)typeName   
  45.         bookName=(bookName==null?"":bookName);   
  46.            
  47.            
  48.         Session session = getSession(); //獲取HibernateDaoSupport 中的session   
  49.            
  50.         Criteria c = session.createCriteria(Book.class)   
  51.             .add(Restrictions.like("name""%"+bookName+"%"));   
  52.                
  53.        if(typeName!=null&&!"".equalsIgnoreCase(typeName)){//如果前臺傳來 typeName 的查詢參數(shù) ,則進行2張表關(guān)聯(lián)查詢   
  54.            c = c.createCriteria("type")   
  55.            .add(Restrictions.eq("name", typeName));   
  56.        }   
  57.            
  58.           
  59.            
  60.         List<Book> list =c.setFirstResult(pm.getOffset())   
  61.                             .setMaxResults(pm.getLineSize())   
  62.                             .list();   
  63.            
  64.         if(pm.getTotalRecords()==0){   
  65.             pm.setTotalRecords(this.getTotalRecords(c)) ;   
  66.         }   
  67.            
  68.            
  69.         System.out.println("總記錄數(shù):"+pm.getTotalRecords());   
  70.         pm.setResults(list);   
  71.            
  72.            
  73.         /*  
  74.         List<Book> list = session.createCriteria(Book.class)  
  75.         .setFirstResult(pm.getOffset())  
  76.         .setMaxResults(pm.getLineSize())  
  77.         .list();  
  78.         pm.setTotalRecords(getTotalRecords());  
  79.         pm.setResults(list);*/  
  80.            
  81.         return pm;   
  82.     }   
  83.     public PageModel listHQL(PageModel pm) {   
  84.         System.out.println("dao層--list()");   
  85.            
  86.         Map<String, String> map = pm.getSearchParam();   
  87.         String bookName = map.get("bookName"); //"查詢參數(shù)bookName   
  88.         String typeName = map.get("typeName"); //查詢參數(shù)typeName   
  89.         bookName=(bookName==null?"":bookName);   
  90.            
  91.            
  92.         Session session = getSession(); //獲取HibernateDaoSupport 中的session   
  93.            
  94.         Criteria c = session.createCriteria(Book.class)   
  95.         .add(Restrictions.like("name""%"+bookName+"%"));   
  96.            
  97.         if(typeName!=null&&!"".equalsIgnoreCase(typeName)){//如果前臺傳來 typeName 的查詢參數(shù) ,則進行2張表關(guān)聯(lián)查詢   
  98.             c = c.createCriteria("type")   
  99.             .add(Restrictions.eq("name", typeName));   
  100.         }   
  101.            
  102.            
  103.            
  104.         if(pm.getTotalRecords()==0){   
  105.             pm.setTotalRecords(this.getTotalRecords(c)) ;   
  106.         }   
  107.            
  108.         List<Book> list =c.setFirstResult(pm.getOffset())   
  109.         .setMaxResults(pm.getLineSize())   
  110.         .list();   
  111.            
  112.            
  113.         System.out.println("總記錄數(shù):"+pm.getTotalRecords());   
  114.         pm.setResults(list);   
  115.            
  116.            
  117.         /*  
  118.         List<Book> list = session.createCriteria(Book.class)  
  119.         .setFirstResult(pm.getOffset())  
  120.         .setMaxResults(pm.getLineSize())  
  121.         .list();  
  122.         pm.setTotalRecords(getTotalRecords());  
  123.         pm.setResults(list);*/  
  124.            
  125.         return pm;   
  126.     }   
  127.        
  128.   
  129.        
  130.     public void update(Book book) {   
  131.         getHibernateTemplate().update(book);   
  132.            
  133.     }   
  134.   
  135.   
  136.   
  137.     public Book test(int id) {   
  138.            
  139.         return (Book) getHibernateTemplate().load(Book.class, id);   
  140.     }   
  141.   
  142.   
  143.   
  144. }  

 生成的前臺表單

 

Html代碼
 
  1. <style type="text/css">  
  2. .pagination {padding: 5px;float:right;font-size:12px;}.pagination a, .pagination a:link, .pagination a:visited {padding:2px 5px;margin:2px;border:1px solid #aaaadd;text-decoration:none;color:#006699;}.pagination a:hover, .pagination a:active {border: 1px solid #ff0000;color: #000;text-decoration: none;}.pagination span.current {padding: 2px 5px;margin: 2px;border: 1px solid #B1D5F0;font-weight: bold;background-color: #B1D5F0;color: #FFF0;}.pagination span.disabled {padding: 2px 5px;margin: 2px;border: 1px solid #eee; color: #ddd;}   
  3. </style>  
  4. <div class="pagination">  
  5.   <form method="post" action="http://192.168.167.110:8080/1102_SSH__BookSys__3.0/book/Book-list?null" name="qPagerForm" id="qPagerForm1" >  
  6.     <input type="hidden" name="pm.searchParam.typeName" value="武俠類"/>  
  7.     <input type="hidden" name="pm.searchParam.bookName" value="2"/>  
  8.     <input type="hidden" name="pm.pageNo" value="1" id='pageNo1'  />  
  9.     <input type="hidden" name="pm.totalRecords" value="3"  />  
  10.      共<strong>3</strong>項,<strong>2</strong>頁:  <span class="disabled">&laquo; 上一頁</span> <span class="current">1</span> <a href="javascript:turnOverPage(2)">2</a> <a href="javascript:turnOverPage(2)">下一頁 &raquo;</a>  
  11.   </form>  
  12.   <script language="javascript">  
  13.   function turnOverPage(no){   
  14.     if(no>2){      no=2;}   
  15.     if(no<1){no=1;}   
  16.     document.getElementById('pageNo1').value=no;   
  17.     document.getElementById('qPagerForm1').submit();   
  18.   }   
  19. </script>    
  20. </div>  
 
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
自定義分頁標(biāo)簽
極簡教程 | Spring Boot整合Elasticsearch實現(xiàn)數(shù)據(jù)搜索引擎
C# .Net MVC Razor 視圖靜態(tài)分頁導(dǎo)航欄生成器
stringBuilder類實例
C#拼接string字符串
Spring MVC MongoDB 分頁例子下載
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服