1 package org.javabb.infra; 2 3 import java.util.ArrayList ; 4 import java.util.List ; 5 import java.util.Map ; 6 7 import com.opensymphony.xwork.ActionContext; 8 9 24 25 29 public class Paging { 30 35 public static int getNroPages(long recordsPerPage, long nroRecords) { 36 double pages = Math.ceil((double) nroRecords / recordsPerPage); 37 38 return (int) Math.round(pages); 39 } 40 41 45 public static void setPageList(long pageNumber, long totalRows) { 46 ArrayList pages = new ArrayList (); 47 48 if ((pageNumber - 3) > 0) { 49 for (long i = (pageNumber - 3); i < pageNumber; i++) { 50 pages.add("" + i); 51 } 52 } else { 53 for (long i = 1; i < pageNumber; i++) { 54 pages.add("" + i); 55 } 56 } 57 58 if ((pageNumber + 3) <= totalRows) { 59 for (long i = pageNumber; i <= (pageNumber + 3); i++) { 60 pages.add("" + i); 61 } 62 } else { 63 for (long i = pageNumber; i <= totalRows; i++) { 64 pages.add("" + i); 65 } 66 } 67 68 ActionContext ctx = ActionContext.getContext(); 70 Map session = ctx.getSession(); 71 session.put("pages", pages); 72 73 session.put("last_page", new Integer ((int) totalRows)); 75 } 76 77 82 public static List createQuickPaging(int nroPages) { 83 ArrayList pages = new ArrayList (); 84 if (nroPages >= 10) { 85 pages.add(new Integer (1)); 86 pages.add(new Integer (2)); 87 pages.add(new Integer (3)); 88 pages.add("..."); 89 pages.add(new Integer (nroPages - 2)); 90 pages.add(new Integer (nroPages - 1)); 91 pages.add(new Integer (nroPages)); 92 } else { 93 for (int i = 1; i <= nroPages; i++) { 94 pages.add(new Integer (i)); 95 } 96 } 97 return pages; 98 } 99 } 100 | Popular Tags |