Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Graphic
- 오버로딩
- mybatis
- struts2
- paint
- JSP
- 생성자
- 메소드
- Eclips
- 기본
- 메서드
- layout
- 국제화
- 배열
- 안드로이드
- oracle
- Android
- 어노테이션
- Java
- 예외처리
- JavaScript
- Spring
- 전화걸기
- AWT
- 에러페이지
- Menu
- 클래스
- HTML
- 이클립스
- OGNL
Archives
- Today
- Total
note
struts2 업로드파일 다운로드 하기 본문
이전 게시물과 연관있습니다
[JSP/스트럿츠2] - struts2 파일 업로드(자카르타 라이브러리)
연관부분은
업로드 되어진 폴더를 이전 게시물에 사용한 업로드 폴더를 사용하였습니다
get방식으로 파일 위치를 직접 입력해서 넘겨줍니다
struts-ch6.xml
<!-- 다운로드 --> <action name="download" class="com.ch6.action.DownloadAction"> <interceptor-ref name="exception" /> <interceptor-ref name="staticParams" /> <interceptor-ref name="params" /> <param name="downloadDir">업로드 되어 있는 폴더 위치</param> <result name="success" type="stream"> <param name="inputName">inputStream</param> <param name="contentDisposition">filename="${file}"</param> <param name="bufferSize">102400</param> </result> <result name="error">fileNotFound.jsp</result> <exception-mapping result="error" exception="java.io.fileNotFoundException" /> </action>
DownloadAction.java
package com.ch6.action; import java.io.FileInputStream; import java.io.InputStream; import javax.servlet.http.HttpServletResponse; import com.opensymphony.xwork2.Action; public class DownloadAction implements Action{ //다운로드 디렉터리 String downloadDir; //다운로드 파일명 String file; //HttpServletResponse로 직접쓸 InputStream //다운로드할 파일을 연결한다 InputStream inputStream; @Override public String execute() throws Exception { inputStream = new FileInputStream(downloadDir+"/"+file); return SUCCESS; } //setters public void setDownloadDir(String downloadDir) { this.downloadDir = downloadDir; } public void setFile(String file) { this.file = file; } //getter public InputStream getInputStream() { return inputStream; } public String getFile() { return file; } }
fileNotFound.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>파일을 찾을 수 없습니다.</title> </head> <body> <h1>파일이 존재하지 않습니다.${file}</h1> </body> </html>
Stream을 형성해서 넘기기 때문에 화면에 display가 될수 있습니다
txt파일 jpg 파일 등등
화면에 display가 되지 않는 파일들은 다운로드 창이 띄워집니다
xml
staticParams - > 설정정보에 명시한 정보를 제공(action에 제공) downloadDir에 액션을 주입
params -> 전송된 데이터 처리
action에서 만들어진 객체를 type="stream"
contentDisposition -> 파일명 get방식으로 넘겼던 파일명을 el로 받아 처리
DownloadAction.java
'JSP > Struts2' 카테고리의 다른 글
struts2 OGNL 표기 Append / Merge / Date (0) | 2012.02.23 |
---|---|
struts2 if / else if / else 태그 예제(OGNL표현식) EL / OGNL 차이점 (0) | 2012.02.23 |
struts2 예외발생 에러페이지 (0) | 2012.02.22 |
Struts2 Servlet (0) | 2012.02.22 |
struts2 파일 업로드(자카르타 라이브러리) (0) | 2012.02.22 |