SPRING

HTML 이외의 View 구현

Adev 2022. 11. 17. 00:01

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