六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 145|回复: 0

Struts2的上传文件功能实现

[复制链接]

升级  22%

19

主题

19

主题

19

主题

秀才

Rank: 2

积分
83
 楼主| 发表于 2013-2-7 23:56:52 | 显示全部楼层 |阅读模式
package 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; // 文件的内容类型     private String uploadFileName; // 上传文件名     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;     } }  
<%@ page language="java" contentType="text/html; charset=GB2312"%>   <%@ taglib prefix="s" uri="/struts-tags" %>   <html>     <head>         <title>文件上传示例</title>         <link href="<s:url value="/css/main.css"/>" rel="stylesheet"             type="text/css" />     </head>     <body>         <s:actionerror />         <s:fielderror />         <s:form action="doUpload" method="POST" enctype="multipart/form-data">             <tr>                 <td colspan="2">                     <h1>                         文件上传示例                     </h1>                 </td>             </tr>             <s:file name="upload" label="上传的文件" />             <s:textfield name="fileCaption" label="备注" />             <s:submit value="上   传"/>         </s:form>     </body> </html>  
<%@ page language="java" contentType="text/html; charset=GB2312"%>  <%@ taglib prefix="s" uri="/struts-tags"%> <html>     <head>         <title>上传成功</title>         <link href="<s:url value="/css/main.css"/>" rel="stylesheet"             type="text/css" />     </head>     <body>         <table class="wwFormTable">             <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" />                 </td>             </tr>             <tr>                 <td class="tdLabel">                     <label for="doUpload_upload" class="label">                         文件路径:                     </label>                 </td>                 <td>                     <s:property value="uploadFileName" />                 </td>             </tr>             <tr>                 <td class="tdLabel">                     <label for="doUpload_upload" class="label">                         临时文件:                     </label>                 </td>                 <td>                     <s:property value="upload" />                 </td>             </tr>             <tr>                 <td class="tdLabel">                     <label for="doUpload_upload" class="label">                         备注:                     </label>                 </td>                 <td>                     <s:property value="fileCaption" />                 </td>             </tr>         </table>     </body> </html>  
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"     "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts>     <constant name="struts.devMode" value="true" />     <constant name="struts.i18n.encoding" value="GB2312" />     <package name="NG" 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> </struts>  
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4"     xmlns="http://java.sun.com/xml/ns/j2ee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">     <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> </web-app>  
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表