
Kita lanjutkan belajar struts2 dengan judul Tutorial File Upload Apache Struts2. Kita akan sedikit mengulas bagaimana cara meng-upload file pada apache struts2.
Sekarang kita mulai Tutorial File Upload Apache Struts2 :
- Buka folder workspace anda, jangan lupa pelajari dulu Tutorial Basic Apache Struts2. Karena kita akan melanjutkan source codenya.
- Buat folder “file-upload-struts2” di workspace anda
- Copy file “pom.xml” dan folder “src” di folder “basic-struts2” tutorial sebelumnya ke folder “file-upload-struts2”
- Buka file “pom.xml”, rubah artifact-id, name, dan description
12345<artifactId>file-upload-struts2</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>Belajar File Upload Struts2</name><description>Belajar File Upload Struts2</description> - Buka IDE eclipse
- Pilih import >> existing maven project >> browse ke folder “file-upload-struts2” >> finish
- project baru “file-upload-struts2” sudah berhasil di load
Mari kita mulai melakukan perubahan selanjutnya
- Tambahkan controller/action “UploadAction” di package “com.wijaksana.belajar.struts2.action” dan tambah extend “ActionSupport”, berikut full scriptnya
12345678910111213141516171819202122232425262728293031323334public class UploadAction extends ActionSupport {private File[] upload;private String[] uploadFileName;private String[] uploadContentType;public String execute() throws Exception {return INPUT;}public File[] getUpload() {return upload;}public void setUpload(File[] upload) {this.upload = upload;}public String[] getUploadFileName() {return uploadFileName;}public void setUploadFileName(String[] uploadFileName) {this.uploadFileName = uploadFileName;}public String[] getUploadContentType() {return uploadContentType;}public void setUploadContentType(String[] uploadContentType) {this.uploadContentType = uploadContentType;}}; - Buka file struts.xml (src/main/resources), replace script didalam tag <struts> dengan script dibawah ini
123456789101112131415161718192021<struts><constant name="struts.enable.DynamicMethodInvocation" value="false"/><constant name="struts.devMode" value="true"/><package name="default" namespace="/" extends="struts-default"><default-action-ref name="index"/><action name="index"><result type="redirectAction"><param name="actionName">upload</param></result></action><action name="upload" class="com.wijaksana.belajar.struts2.action.UploadAction"><result name="input">WEB-INF/upload.jsp</result></action></package></struts> - Replace nama file “index.jsp” menjadi “index.html” (src/main/webapp), replace dengan script dibawah ini:
12345678910<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><META HTTP-EQUIV="Refresh" CONTENT="0;URL=upload.action"></head><body><p>Loading ...</p></body></html> - Tambahkan file “upload.jsp” (src/main/webapp/WEB-INF), replace dengan script dibawah ini:
12345678910111213141516171819202122232425262728<%@ page contentType="text/html; charset=UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %><html><head><title>File upload</title></head><body><s:form action="upload" method="post" enctype="multipart/form-data"><s:file name="upload"/><s:file name="upload"/><s:file name="upload"/><s:submit/></s:form><s:iterator value="upload" var="u"><s:property value="u"/><br/></s:iterator><s:iterator value="uploadContentType" var="ct"><s:property value="ct"/><br/></s:iterator><s:iterator value="uploadFileName" var="fn"><s:property value="fn"/><br/></s:iterator></body></html> - Selesai, bisa kita test sekarang
- Klik kanan project name >> Run As >> Maven Build… >> pada isian goals ketik “jetty:run” >> klik RUN
- Buka browser http://localhost:8080
Selamat mencoba,
salam berbagi,
wijaksana