文件上傳FileUpload
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee
<display-name>customization</display-name> <filter> <filter-name>struts-cleanup</filter-name> <filter-class> org.apache.struts2.dispatcher.ActionContextCleanUp </filter-class> </filter> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts-cleanup</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
</web-app> </pre>struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<package name="ob" namespace="/" extends="struts-default"> <action name="showUpload"> <result>/upload.jsp</result> </action> <action name="doUpload" class="com.sterning.StrutsFileUpload"> <result name="input">/upload.jsp</result> <result>/upload_success.jsp</result> </action> </package>
</constant> </constant></struts></pre>
StrutsFileUpload.javapackage com.sterning;import java.io.File; import javax.servlet.ServletContext; import org.apache.commons.io.FileUtils; import org.apache.struts2.util.ServletContextAware; import com.opensymphony.xwork2.ActionSupport;
public class StrutsFileUpload extends ActionSupport implements ServletContextAware {
private File upload;// 實際上傳文件 private String uploadContentType; // 文件的內容類型(頁面的文件名+ContentType) private String uploadFileName; // 上傳文件名(頁面的文件名+FileName) private String fileCaption;// 上傳文件時的備注 private ServletContext context; public String execute() throws Exception { try { String targetDirectory = context.getRealPath("/upload"); String targetFileName = uploadFileName; File target = new File(targetDirectory, targetFileName); FileUtils.copyFile(upload, target); setUploadFileName(target.getPath());// 保存文件的存放路徑 } catch (Exception e) { addActionError(e.getMessage()); return INPUT; } return SUCCESS; } public String getFileCaption() { return fileCaption; } public void setFileCaption(String fileCaption) { this.fileCaption = fileCaption; } public File getUpload() { return upload; } public void setUpload(File upload) { this.upload = upload; } public String getUploadContentType() { return uploadContentType; } public void setUploadContentType(String uploadContentType) { this.uploadContentType = uploadContentType; } public String getUploadFileName() { return uploadFileName; } public void setUploadFileName(String uploadFileName) { this.uploadFileName = uploadFileName; } public void setServletContext(ServletContext context) { this.context = context; }
} </pre>
upload.jsp<%@ page language="java" contentType="text/html; charset=GB2312"%> <%@ taglib prefix="s" uri="/struts-tags"%><title>文件上傳示例</title> <link href="%3Cs:url%20value=" css="" main.css="">" rel="stylesheet" type="text/css" /> <s:actionerror> <s:fielderror> <s:form action="doUpload" method="post" enctype="multipart/form-data"> <h1> 文件上傳示例 </h1> <s:file name="upload" label="上傳的文件"> <s:textfield name="fileCaption" label="備注"> <s:submit value="上 傳" align="center"> </s:submit> </s:textfield></s:file></s:form></s:fielderror></s:actionerror></pre><br><br>upload_success.jsp<br><pre name="code" class="html" style="background-color:#C5C5C5;font-weight:bold;"><%@ page language="java" contentType="text/html; charset=GB2312"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<title>上傳成功</title> <link href="%3Cs:url%20value=" css="" main.css="">" rel="stylesheet" type="text/css" /> <table class="wwFormTable"> <tbody><tr> <td colspan="2"> <h1> 上傳成功 </h1> </td> </tr> <tr> <td class="tdLabel"> <label for="doUpload_upload" class="label"> 內容類型: </label> </td> <td> <s:property value="uploadContentType"> </s:property><br></td> </tr> <tr> <td class="tdLabel"> <label for="doUpload_upload" class="label"> 文件路徑: </label> </td> <td> <s:property value="uploadFileName"> </s:property><br></td> </tr> <tr> <td class="tdLabel"> <label for="doUpload_upload" class="label"> 臨時文件: </label> </td> <td> <s:property value="upload"> </s:property><br></td> </tr> <tr> <td class="tdLabel"> <label for="doUpload_upload" class="label"> 備注: </label> </td> <td> <s:property value="fileCaption"> </s:property><br></td> </tr> </tbody></table> <%-- 展示圖像(路徑未指定) <div style="padding:3px; border: solid 1px #cccccc; text-align: center;"> <img src=""> <br> </div> --%> </pre><br>需要用到的包:<br>commons-fileupload-1.2.1.jar<br>commons-io-1.3.2.jar<br>commons-logging-1.1.1.jar<br>freemarker-2.3.12.jar<br>ognl-2.6.11.jar<br>struts2-core-2.1.2.jar<br>xwork-2.1.1.jar<br>
本文由用戶 kookob 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!