전자정부프레임워크

[Egov] 커스텀 페이지 렌더링 클래스 추가하기 (PaginationRenderer)

Rust Choi 2018. 11. 27. 16:19

전자정부프레임워크의 페이징 디자인을 변경하기 위해서는 AbstractPaginationRenderer 추상클래스를 구현하면 합니다.


기본 디자인은 요렇게 밋밋합니다.


public class CustomPaginationRenderer extends AbstractPaginationRenderer {
 
	public CustomPaginationRenderer() {
		firstPageLabel 		= "<li><a href=\"#\" class=\"first\" onclick=\"{0}({1}); return false;\">처음으로</a></li>";
        previousPageLabel 	= "<li><a href=\"#\" class=\"prev\" onclick=\"{0}({1}); return false;\">이전으로</a></li>";
        currentPageLabel 	= "<li><a href=\"#\" class=\"active\">{0}</a></li>";
        otherPageLabel 		= "<li><a href=\"#\" onclick=\"{0}({1}); return false;\">{2}</a></li>";
        nextPageLabel	 	= "<li><a href=\"#\" class=\"next\" onclick=\"{0}({1}); return false;\">다음으로</a></li>";
        lastPageLabel 		= "<li><a href=\"#\" class=\"last\" onclick=\"{0}({1}); return false;\">맨뒤로</a></li>";
	}
}

위와 같이 각 프로퍼티의 기능에 맞게 커스터마이징 해줍니다.

{0} 은 js 페이지 이동 함수, {1}은 pageNo 가 됩니다.

태그에 class가 지정되어 있으니 디자이너에게 맡기면 멋진 페이징바가 완성되겠죠!! (아니면 직접 css를 작성해도 되죠!!)


작성한 클래스를 등록해야 합니다.

스프링 설정파일을 열어서 다음과 같이 등록해 줍니다.


<bean id="customPagingRenderer" class="cmmn.base.web.CustomPaginationRenderer"/>


<bean id="paginationManager" class="egovframework.rte.ptl.mvc.tags.ui.pagination.DefaultPaginationManager">

    <property name="rendererType">

        <map>

            <entry key="customRenderer" value-ref="customPagingRenderer"/> 

        </map>

    </property>

</bean>


jsp에서는 요렇게,,


<div class="paging">

    <ul>

        <ui:pagination paginationInfo="${paginationInfo}" type="customRenderer" jsFunction="linkPage"/>

    </ul>

</div>



참고사이트

http://www.egovframe.go.kr/wiki/doku.php