일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- REST
- 대댓글
- 비동기
- modal #alert #sweetalert #sweetAlert #모달
- Spring
- 우리마
- paginationInfo
- SpringFramework
- 외부접속
- deferred
- Controller
- DAO
- CRUD
- egov
- Boot
- Today
- Total
우리마의 웹 개발
[Spring]페이징 처리 EgovFramework Paginationinfo 사용하기( 설정) 본문
안녕하세요. Spring 환경에서 전자정부 프레임워크에서 제공하는 PaginationInfo를 사용해서 게시판 페이징 처리를 해볼 거예요.
먼저 전자정부 프레임워크의 라이브러리(패키지)를 추가해 줘야 됩니다. EgovFramework는 한국 거라서 그런지 https://mvnrepository.com/ Maven Repository 저장소에 검색해도 뜨지 않아요..
그래서 전자정부프레임워크 라이브러리를 사용하는 몇 가지 방법을 소개할게요
개발 환경 | |
Spring Framework | 5.2.3 |
Egov Framework | 3.8 |
Tomcat | 8.0 |
DB | MySql8 , MyBatis3.5 |
1. 전자정부 프레임워크 홈페이지에서 개발 환경 다운로드
https://www.egovframe.go.kr/EgovDevEnvRelease_300.jsp?menu=3&submenu=2&leftsub=2
위 사이트에 접속하셔서 원하시는 버전을 다운로드하시면 이클립스에 전자정부 패키지가 모두 들어가 있습니다.
지금은 페이징 기능을 얘기하고 있지만 페이징 외에도 유용한 기능이 많으니 참고하시면 좋을 거 같습니다.
2. 메이븐 추가
1
2
3
4
5
6
7
|
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.ptl.mvc</artifactId>
<version>3.8.0</version>
</dependency>
|
cs |
구글에 egovframework maven과 같은 키워드로 검색하시게 되면 쉽게 찾아볼 수 있어요. 그런데 일반 이클립스에서 위와 같이 메이븐을 추가하게 되면 기존의 Spring MVC와 충돌(?), 버전 문제 등 오류가 나는 경우가 종종 있었어요. 그래서 저는 저렇게 메이븐을 설치한 후 그 안의 페이징 관련 패키지만 직접 가져와서 프로젝트에 추가하는 방식도 있습니다.
본인의 Maven Repository 디렉터리에 들어가서
(본인 maven repository path)\egovframework\rte\egovframework.rte.ptl.mvc\3.8.0
으로 들어가면 egovframework.rte.ptl.mvc-3.8.0-sources.jar 파일이 있습니다. 이 친구를 압축 해제하면
ui에 있는 java파일과 pagination 폴더에 있는 java파일을 모두 가져옵니다.
그리고 ImagePaginationRenderer.java라는 파일이 필요한데 이 친구 어디 있는지 모르겠습니다.. (어디 있는지 아시는 분 댓글..) 일단 복붙 해서 사용하세요..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
import javax.servlet.ServletContext;
import org.springframework.web.context.ServletContextAware;
/**
* ImagePaginationRenderer.java 클래스
*
* @author 서준식
* @since 2011. 9. 16.
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2011. 9. 16. 서준식 이미지 경로에 ContextPath추가
* </pre>
*/
public class ImagePaginationRenderer extends AbstractPaginationRenderer implements ServletContextAware{
private ServletContext servletContext;
public ImagePaginationRenderer() {
}
public void initVariables(){
firstPageLabel = " <a href=\"?pageIndex={1}\" class=\"paginationInfoText\" onclick=\"{0}({1});return false; \">처음</a> ";
previousPageLabel = " <a href=\"?pageIndex={1}\" class=\"paginationInfoText\" onclick=\"{0}({1});return false; \">이전</a> ";
currentPageLabel = " <strong style=\"color: red; font-size: 18px;\">{0}</strong> ";
otherPageLabel = " <a href=\"?pageIndex={1}\" style=\"color: black; font-size: 18px;\" onclick=\"{0}({1});return false; \">{2}</a> ";
nextPageLabel = " <a href=\"?pageIndex={1}\" class=\"paginationInfoText\" onclick=\"{0}({1});return false; \">다음</a> ";
lastPageLabel = " <a href=\"?pageIndex={1}\" class=\"paginationInfoText\" onclick=\"{0}({1});return false; \">끝</a> ";
// firstPageLabel = "<li> </li><li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/mod/icon/icon_prevend.gif\" alt=\"처음\" border=\"0\"/></a></li>";
// previousPageLabel = "<li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/mod/icon/icon_prev.gif\" alt=\"이전\" border=\"0\"/></a></li>";
// currentPageLabel = "<li><strong>{0}</strong></li>";
// otherPageLabel = "<li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">{2}</a></li>";
// nextPageLabel = "<li> <a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/mod/icon/icon_next.gif\" alt=\"다음\" border=\"0\"/></a></li>";
// lastPageLabel = "<li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/mod/icon/icon_nextend.gif\" alt=\"마지막\" border=\"0\"/></a></li>";
}
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
initVariables();
}
}
|
cs |
이렇게 페이징에 필요한 java 파일들을 본인의 프로젝트에 추가해 줍니다.
이로써 전자정부 프레임워크의 PaginationInfo를 이용할 수 있는 파일들을 모았습니다.
다음으로 root-context.xml에 bean등록을 해주도록 합시다.
/src/main/WEB-INF/spring/root-context.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<!-- For Pagination Tag -->
<bean id="imageRenderer" class="com.myProject.training.egovframework.paginationinfo.ImagePaginationRenderer"/>
<bean id="textRenderer" class="com.myProject.training.egovframework.paginationinfo.DefaultPaginationRenderer"/>
<bean id="paginationManager" class="com.myProject.training.egovframework.paginationinfo.DefaultPaginationManager">
<property name="rendererType">
<map>
<entry key="image" value-ref="imageRenderer"/>
<entry key="text" value-ref="textRenderer"/>
</map>
</property>
</bean>
|
cs |
각 bean의 class는 본인의 해당 java파일의 경로를 적어주시면 됩니다.
여기까지 설정을 했다면 전자정부프레임워크의 페이징 기능을 사용할 인프라가 갖추어졌습니다.
다음 글에서 Jsp, Controller 등 작성하는 방법을 소개하겠습니다.
'WEB > Spring' 카테고리의 다른 글
[Spring]게시판 글 상세보기에서 '좋아요' 처리 로직 정리 (12) | 2020.09.14 |
---|---|
[Spring]페이징 처리 EgovFramework Paginationinfo 사용하기( JSP, Controller) (3) | 2020.07.21 |
[Spring]학생들의 성적에 대한 CRUD기능 구현(데이터베이스 없이 DAO의 List로 DB대용) (2) | 2020.02.17 |
[Spring]JSP에서 요청 파라미터를 Controller에서 처리하는 방법(커맨드 객체 사용) (0) | 2020.02.05 |
[Spring]JSP에서 요청 파라미터를 Controller에서 처리하는 방법(@RequestParam) (0) | 2020.02.05 |