Struts2上传文件示例

  Struts2上传文件示例

源代码: Struts2Upload.rar

1.包如下:请自行下载
Struts2上传文件示例_第1张图片

2.Action类

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;
    }


}


3.页面

上传页面:upload.jsp
<% @ page language="java" contentType="text/html; charset=GB2312" %>    
<% @ taglib prefix="s" uri="/struts-tags"  %>    
< html >
    
< head >
        
< title > 文件上传示例 title >
        
< link  href =" /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 >

上传成功页面:upload_success.jsp
<% @ page language="java" contentType="text/html; charset=GB2312" %>   
<% @ taglib prefix="s" uri="/struts-tags" %>
< html >
    
< head >
        
< title > 上传成功 title >
        
< link  href =" /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 >

4.struts.xml
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 >


5.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"
    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 >

Struts2上传文件示例_第2张图片

Struts2上传文件示例_第3张图片 

你可能感兴趣的:(struts)