(struts2学习篇)struts2文件上传

来源:互联网 发布:java验证码怎么做 编辑:程序博客网 时间:2024/06/06 03:29

第一步:编写相关相关文件上传Action

public class UploadFileAction extends ActionSupport {/** *  */private static final long serialVersionUID = 1L;// 相关属性封装private File upload; // 上传文件private String uploadContentType;// 上传文件类型private String uploadFileName;// 上传文件名private String filename;// 上传文件重新命名private String upladPath;// 上传文件路径private String result;// 上传结果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 String getFilename() {return filename;}public void setFilename(String filename) {this.filename = filename;}public String getUpladPath() {return upladPath;}public void setUpladPath(String upladPath) {this.upladPath = upladPath;}@Overridepublic String execute() throws Exception {// TODO Auto-generated method stubString file = "";// 如果新文件名未输入,则使用上传文件的文件名,做为服务器保存文件的文件名if (filename.equals("")) {file = upladPath + uploadFileName;} else {file = upladPath + uploadFileName;}// 判读服务器是否存在同名的文件,否则相关的信息提示if (new File(file).exists()) {result = "该文件已经存在,请为文件重新命名";} else {FileOutputStream fileoutput = new FileOutputStream(file);InputStream input = new FileInputStream(upload);byte[] buffer = new byte[8192];int count = 0;while ((count = input.read(buffer)) > 0) {fileoutput.write(buffer, 0, count);}fileoutput.close();input.close();result = "文件上传成功";}return "result";}public void setResult(String result) {this.result = result;}public String getResult() {return result;}}


第二步:struts2.xml文件配置

<!--struts2文件上传  --><package name="fileupload" extends="struts-default"><action name="fileupload" class="com.rf.action.UploadFileAction"><!--struts2 服务器保存上传文件  --><param name="upladPath">c:\upload\</param><result name="result">/error.jsp</result></action></package>


 

第三步:jsp页面相关代码(文件上传页面)

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@taglib prefix="s" uri="/struts-tags"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>struts2文件上传实例代码</title><!--<link rel="stylesheet" type="text/css" href="styles.css">-->  </head>    <body>  <!--struts2文件上传  -->  <s:form action="fileupload" enctype="multipart/form-data">     <s:file label="文件上传" name="upload"/>     <s:textfield label="新文件名" name="filename"/>     <s:submit value="上传"/>  </s:form>  </body></html>


 

结果页面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@taglib prefix="s" uri="/struts-tags"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>上传文件结果</title>   <!--<link rel="stylesheet" type="text/css" href="styles.css">-->  </head>    <body>  文件上传结果:       <s:property value="result"/><br>  </body></html>


结果展示:

原创粉丝点击