index.jsp:
UploadActinForm.java
UploadTestAction .java
struts-config.xml
upload_success.jsp
li>测试struts上传</li>
<form action="upload.do" method="post" enctype="multipart/form-data">
标题:<input type="text" name="title"/><br>
文件:<input type="file" name="file"/><br>
<input type="submit" value="上传"/>
</form>
UploadActinForm.java
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
public class UploadActinForm extends ActionForm {
private String title;
//上传文件必须采用FormFile声明,FormFle是一个接口
private FormFile file;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public FormFile getFile() {
return file;
}
public void setFile(FormFile file) {
this.file = file;
}
}
UploadTestAction .java
import java.io.FileOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* 上传Action
* @author Administrator
*
*/
public class UploadTestAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UploadActinForm uaf = (UploadActinForm)form;
System.out.println("title="+ uaf.getTitle());
System.out.println("fileName=" + uaf.getFile().getFileName());
FileOutputStream fos = new FileOutputStream("D:\\" + uaf.getFile().getFileName());
fos.write(uaf.getFile().getFileData());
fos.flush();
fos.close();
return mapping.findForward("success");
}
}
struts-config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="uploadForm" type="com.hugui.struts.UploadActinForm">
</form-bean>
</form-beans>
<action-mappings>
</action>
<action path="/upload"
type="com.hugui.struts.UploadTestAction"
name="uploadForm"
scope="request"
>
<forward name="success" path="/upload_success.jsp"></forward>
</action>
</action-mappings>
<controller maxFileSize="20M"></controller>
</struts-config>
upload_success.jsp
上传成功!<br>
标题:【${uploadForm.title }】<br>
文件名:【${uploadForm.file.fileName }】<br>