Struts2学习系列 -- Struts2上传文件

主要导入包

struts2 2.3.4.1版本相关包

其他

处理接收文件Action类FileUploadAction

package com.dahuazwan.ihwsm.demo;

import java.io.File;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class FileUploadAction extends ActionSupport {
	private File image; //上传的文件
    private String imageFileName; //文件名称
    private String imageContentType; //文件类型
    private String newName; //新名称
    
    public String execute() throws Exception {
    	System.out.println(image);
    	System.out.println(imageFileName);
    	System.out.println(imageContentType);
    	System.out.println(newName);
    	return SUCCESS;
    }
 
     // set/get方法略   
}

struts配置文件struts.xml:

<struts>
	<constant name="struts.enable.DynamicMethodInvocation" value="false" />
	<constant name="struts.devMode" value="false" />
	<!-- 解决Post乱码    -->
    <constant name="struts.i18n.encoding" value="UTF-8" />
    
    <constant name="struts.custom.i18n.resources" value="struts"/>
    
    <!-- 指定允许上传的文件最大字节数。默认值是2097152(2M) -->
    <constant name="struts.multipart.maxSize" value="20971520"/>
    <!-- 设置上传文件的临时文件夹,默认使用javax.servlet.context.tempdir -->
    <constant name="struts.multipart.saveDir " value="/" />
     	<package name="struts3" extends="struts-default,json-default" namespace="/">
   	    <action name="fileupload" class="com.dahuazwan.ihwsm.demo.FileUploadAction" method="execute">  
            <result name="success">/index.jsp</result> 
        </action> 
   	</package>
 	
</struts>
 

上传jsp页面内容:

	<form action="fileupload" method="post" enctype="multipart/form-data"><!-- 表单文件上传遵循的格式 -->
   
  		<input type="text" name="newName" />
        <input type="file" name="image"><br>
         
        <input type="submit" value="submit">
 
    </form>
 

注意点

  • form表单的method为post,且enctype为multipart/form-data
  • FileUploadAction的3个属性遵守以下规则:File {1}、String {1}FileName、String {1}ContentType,

其中{1}必须和表单中file同名。如这里是image,则对应属性为image、imageFileName、imageContentType

  • FileUploadAction还需要接收表单其他属性名称,则其名称必须和表单对应名称相等,如这里的newName

猜你喜欢

转载自huangrongyou.iteye.com/blog/1736684