티스토리 뷰
1 AbstractExcelView를 이용한 엑셀파일 생성 및 다운로드
엑셀파일 뷰를 생성하는방법으로 여러가지 방법이 있지만, 여기서는 컨트롤러의 메서드에서 String 타입의 뷰 이름을 리턴하고, BeanNameViewResolver를 사용하여 뷰를 생성하는 방법으로 구현하였다.
우선은 스프링 설정코드이다.
세개의 ViewResolver를 설정하였고, 위에서부터 일반 JSP파일의 요청을 받아들이는 InternalResourceViewResolver, 두번째는 뷰 이름과 동일한 빈객체를 뷰 객체로 사용하는 BeanNameViewResolver로 여기서 구현하는 엑셀파일 다운로드요청을 받게 된다, 세번째는 애러페이지를 담당하는 ViewResolver 이다. 마지막에 설정되어있는 excelView는 엑셀파일을 생성하는 클래스이며 excelView라는 이름의 뷰 요청이 들어올때 사용된다.
클라이언트에서 들어오는 요청은 다음의 세 요청이다.
/excel_transform_controller?target=article
/excel_transform_controller?target=comment
/excel_transform_controller?target=file
2 Controller source
들어온 요청의 파라미터값 target에 따라 게시글목록, 댓글목록, 파일목록을 불러오게 되며, 불러온 List객체를 excelList 프로퍼티에 저장후 ModelMap 객체에 추가한다.
여기서 ModelMap객체에 추가된 항목들은 Response 응답에 추가되어 뷰에 추가되어 전달된다. 모든 엑셀파일 생성이 이루어지면 excelView 라는 뷰 이름을 리턴하고 스프링 설정파일에서는 BeanNameViewResolver가 excelView 빈 객체를 실행하게 된다.
3 Service source
컨트롤러에서 ModelMap에 추가한 target의 값에 따라 서비스단에서 필요한 목록을 가져와 리턴한다.
4 ExcelView source
매우 단순한 엑셀파일을 생성하는 코드이다. 단지 컬럼명과 데이터만 엑셀파일로 생성하였다. 여기서는 다운로드를 구현하였기때문에 response 객체에 몇가지 설정을 추가하였다.
'Spring' 카테고리의 다른 글
Spring JBOSS 5.x 버전대 스프링4 프로젝트배포 (0) | 2016.04.28 |
---|---|
Spring DWR 연동 ( Spring + DWR ) (0) | 2014.12.04 |
- Total
- Today
- Yesterday
- 로컬저장소
- sencha touch icons list
- spring container
- mybatis common resultmap
- spring autowired
- 스프링 컨테이너
- 마이바티스 공통 resultmap
- 제이보스 스프링4
- 시간차이구하기
- extjs 6 theme
- 스프링
- with admin option
- local repository
- Spring
- with grant option
- maven 로컬저장소
- 스프링 autowired
- extjs grid crud
- mybatis resultmap
- mysql convert
- extjs 6 테마
- extjs
- custom mapping
- tiles sitemesh
- tiles vs sitemesh
- jboss spring4
- mysql 한글깨짐
- 마이바티스 resultmp
- extjs6
- sencha touch icons
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |