05.JSP2009. 7. 30. 16:11
반응형

-- 웹접근성을 고려한 게시판 페이징 처리
파라미터(전체게시물수,현재페이지번호,한페이지당보여줄갯수,링크주소)

package com.bizconsult.util;

public class NavigationUtil {

        private int totalCnt;   // 전체건수
        private int maxPageNo;  // 최대페이지
        private int curPageNo;  // 현재페이지
        private int pageVol;    // 페이지당갯수

        private String baseLink=""; // 링크페이지 
       
       

        public NavigationUtil(int totalCnt, int pageNo, int pageVol, String baseLink) {
                // TODO Auto-generated constructor stub

                super();

               
                // 한화면에 보여줄 글 갯수
                this.pageVol = pageVol;
               
                // 현재 페이지 번호
                this.curPageNo = pageNo;
               
                // 링크페이지
                this.baseLink = baseLink;

                // 전체 페이지 수
                this.totalCnt = (totalCnt / pageVol) + (totalCnt % pageVol == 0 ? 0 : 1);  
        }


        public String goLink() { 
                // TODO Auto-generated constructor stub

                StringBuffer sb_PageLink = new StringBuffer();
               
                //이전
                if(this.curPageNo > 1){
                        sb_PageLink.append("<a href='");
                        sb_PageLink.append(this.baseLink);
                        sb_PageLink.append("?pageNo=");
                        sb_PageLink.append(1);
                        sb_PageLink.append("&");
                        sb_PageLink.append("pageVol=");
                        sb_PageLink.append(this.pageVol);
                        sb_PageLink.append("'>");
                        sb_PageLink.append("[처음]");    
                        sb_PageLink.append("</a>");   
                       
                        sb_PageLink.append("<a href='");
                        sb_PageLink.append(this.baseLink);
                        sb_PageLink.append("?pageNo=");
                        sb_PageLink.append(this.curPageNo -1);
                        sb_PageLink.append("&");
                        sb_PageLink.append("pageVol=");
                        sb_PageLink.append(this.pageVol);
                        sb_PageLink.append("'>");
                        sb_PageLink.append("[이전]");    
                        sb_PageLink.append("</a>");
                }
               
               
                // 게시물 목록
                for(int i =1 ; i <= this.totalCnt ; i ++){
                        sb_PageLink.append("<a href='");
                        sb_PageLink.append(this.baseLink);
                        sb_PageLink.append("?pageNo=");
                        sb_PageLink.append(i);
                        sb_PageLink.append("&");
                        sb_PageLink.append("pageVol=");
                        sb_PageLink.append(this.pageVol);
                        sb_PageLink.append("'>");
                        sb_PageLink.append(i);    
                        sb_PageLink.append("</a>");
                        sb_PageLink.append("&nbsp;&nbsp;");
                }
               
                //다음
                if(this.curPageNo < this.totalCnt){ 
                        sb_PageLink.append("<a href='");
                        sb_PageLink.append(this.baseLink);
                        sb_PageLink.append("?pageNo=");
                        sb_PageLink.append(this.curPageNo +1);
                        sb_PageLink.append("&");
                        sb_PageLink.append("pageVol=");
                        sb_PageLink.append(this.pageVol);
                        sb_PageLink.append("'>");
                        sb_PageLink.append("[다음]");    
                        sb_PageLink.append("</a>");   
                       
                        sb_PageLink.append("<a href='");
                        sb_PageLink.append(this.baseLink);
                        sb_PageLink.append("?pageNo=");
                        sb_PageLink.append(this.totalCnt);
                        sb_PageLink.append("&");
                        sb_PageLink.append("pageVol=");
                        sb_PageLink.append(this.pageVol);
                        sb_PageLink.append("'>");
                        sb_PageLink.append("[마지막]");    
                        sb_PageLink.append("</a>");
                }
               
                return sb_PageLink.toString();

        }

        public String goView(String baseLink, int seq) {
                StringBuffer sb_goView = new StringBuffer();
                sb_goView.append("<a href='");
                sb_goView.append(baseLink);
                sb_goView.append("?");
                sb_goView.append("mod=V");
                sb_goView.append("&");
                sb_goView.append("seq=" + Integer.toString(seq));
                sb_goView.append("'>");
                // sb_goView.append("</a>");

                return sb_goView.toString();
        }

        public String goView(String baseLink, String bizid, int seq) {
                StringBuffer sb_goView = new StringBuffer();

                sb_goView.append("<a href='");
                sb_goView.append(baseLink);
                sb_goView.append("?");
                sb_goView.append("mod=V");
                sb_goView.append("&");
                sb_goView.append("seq=" + Integer.toString(seq));
                sb_goView.append("'>");
                sb_goView.append("image insert");
                sb_goView.append("</a>");

                return sb_goView.toString();
        }

        public int getCurPageNo() {
                return curPageNo;
        }


        public void setCurPageNo(int curPageNo) {
                this.curPageNo = curPageNo;
        }

        public int getMaxPageNo() {
                return maxPageNo;
        }


        public void setMaxPageNo(int maxPageNo) {
                this.maxPageNo = maxPageNo;
        }


        public int getPageVol() {
                return pageVol;
        }


        public void setPageVol(int pageVol) {
                this.pageVol = pageVol;
        }


        public int getTotalCnt() {
                return totalCnt;
        }


        public void setTotalCnt(int totalCnt) {
                this.totalCnt = totalCnt;
        }


        public String getBaseLink() {
                return baseLink;
        }


        public void setBaseLink(String baseLink) {
                this.baseLink = baseLink;
        }


     

}

Posted by 1010