글 작성시, 스트럿츠로 간단하게 업로드 되게 하는 방법을 알아 보자.
writeForm.jsp
<s:form action="/write.do" enctype="multipart/form-data">
<s:file name="uploads" />
<s:file name="uploads" />
<s:file name="uploads" />
위와 같이 uploads 에 한해 "uploadsFileName" 처럼 명명하여 파일 이름을 쓸 수 있다.
WirteAction.java
public String execute() throws Exception {
String filePath = vo.FILEPATH; // 파일 저장 위치
List<File> uploads = vo.getUploads(); // List 형태의 upload file 들
List<String> uploadsFileName = vo.getUploadsFileName();
bo.write(vo);
if (uploads != null) {
for (int i=0 ; i<uploads.size(); i++) {
String saveFileName = System.currentTimeMillis() + "_"
+ uploadsFileName.get(i);
File destFile = new File(filePath + saveFileName);
fVo.setRealfilename( uploadsFileName.get(i) );
fVo.setSavefilename( saveFileName );
FileUtils.copyFile(uploads.get(i), destFile);
bo.saveFile(fVo);
}
}
return SUCCESS;
}
retrieve.jsp
<s:iterator value="list" status="stat">
<s:url id="download" action="fileDownload">
<s:param name="basePath" value="basePath" />
<s:param name="fileName">
<s:property value="list[#stat.index].name" />
</s:param>
</s:url>
<li><s:a href="%{download}">
<s:property value="list[#stat.index].name" /></s:a><br /></li>
</s:iterator>
'Server Enterprise > Struts2' 카테고리의 다른 글
[Struts2 Taglib] iterator 마지막 row 조건문 (0) | 2013.05.22 |
---|---|
[Struts2] File Download (0) | 2013.05.09 |
Struts2 Action과 Value Object 매핑 (0) | 2013.02.21 |
Struts2 기본 셋팅과 사용법 (0) | 2013.02.21 |
스트럿츠2 커스텀태그 (0) | 2013.02.17 |