1. 파일 Download 구현을 위한 커스텀 View
: (JSP 대신) Download를 위한 커스텀 View Class를 구현한다.
컨트롤러 클래스는 Download 파일 관련 정보를 생성해 View에 전달한다.
<bean id="download" class="madvirus.spring.chap07.view.DownloadView"/>
BeanNameViewResolver나 XmlViewResolver를 이용해 커스텀 View Class를 설정한다.
<bean id="viewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
Download를 위한 컨텐츠 타입을 설정한다. (ex. "application/octet-stream")
public DownloadView() {
setContentType("application/download; charset=utf-8");
}
Content-Disposition 헤더의 값을 지정해 Download File 이름을 설정한다.
response.setHeader("Content-Disposition", "attachment; filename=\""
+ fileName + "\";");
2. AbstractExcelView Class를 이용한 엑셀 Download 구현
View Class
1) AbstractExcelView
: POI API를 이용해 응답 생성.
(+ HSSFWorkbook : POI API가 제공하는 엑셀 관련 Class)
2) AbstractJExcelView
: JExcel API를 이용해 응답 생성.
3. AbstractPdfView Class를 이용한 PDF Download 구현
: iText API를 이용해 PDF를 생성한다.
4. MarchallingView를 이용한 XML응답 생성
: JAVA 객체를 XML로 출력한다.
Java객체를 XML 문서로 변환시키는 Marshaller는 marshaller 프로퍼티로, 변환한 모델키는 modelKey 프로퍼티로 전달받는다.
<bean id="pageXmlReport" class="org.springframework.web.servlet.view.xml.MarshallingView">
<property name="marshaller" ref="marshaller"/>
<property name="modelKey" ref="report"/>
</bean>
5. MapingJacksonJsonView를 이용한 JSON 응답 생성
: Java객체를 JSON으로 변환해서 보여준다.
<bean id="pageJsonReport" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/>
+ Locale 처리
: LocaleResolver를 이용해서 WEB 요청과 관련된 Locale을 추출하고, 이 Locale 객체를 이용해 알맞은 언어의 Message를 선택한다.
'SPRING' 카테고리의 다른 글
SPRING 기본설정 (XML, JAVA 공통부분) (0) | 2022.11.24 |
---|---|
SPRING Database 연동과 Jdbc 지원 (0) | 2022.11.18 |
SPRING tiles2 (0) | 2022.11.16 |
SPRING View 영역 구현 (0) | 2022.11.14 |
SPRING Controller Model (0) | 2022.11.13 |