java 代码
- package com.moreFileUpdate.form;
- import java.util.ArrayList;
- import java.util.List;
- import javax.servlet.http.HttpServletRequest;
- import org.apache.struts.action.ActionErrors;
- import org.apache.struts.action.ActionForm;
- import org.apache.struts.action.ActionMapping;
- import com.moreFileUpdate.data.UploadFile;
- /**
- * MyEclipse Struts
- * Creation date: 10-28-2006
- *
- * XDoclet definition:
- * @struts.form name="moreFileUploadForm"
- */
- public class MoreFileUploadForm extends ActionForm {
- // --------------------------------------------------------- Instance Variables
- // --------------------------------------------------------- Methods
- /**
- * Method validate
- * @param mapping
- * @param request
- * @return ActionErrors
- */
- public ActionErrors validate(
- ActionMapping mapping,
- HttpServletRequest request) {
- // TODO Auto-generated method stub
- return null;
- }
- /**
- * Method reset
- * @param mapping
- * @param request
- */
- public void reset(ActionMapping mapping, HttpServletRequest request) {
- // TODO Auto-generated method stub
- }
- private List myFiles;
- public MoreFileUploadForm(){
- myFiles = new ArrayList();
- //为了能够在页面初始显示一个file
- myFiles.add(new UploadFile());
- }
- public List getMyFiles() {
- //System.out.println("get------>");
- return myFiles;
- }
- //注意这个方法的定义
- public UploadFile getUploadFile(int index){
- int size = myFiles.size();
- if(index>size){
- for(int i=size-1;i
- myFiles.add(new UploadFile());
- }
- }
- //System.out.println("--------->"+size);
- else if(index>size-1){
- myFiles.add(new UploadFile());
- }
- // System.out.println("size----->"+myFiles.size());
- return (UploadFile)myFiles.get(index);
- }
- public void setMyFiles(List myFiles) {
- //System.out.println("set------->");
- this.myFiles = myFiles;
- }
- }
- --------以下是action--------
- //Created by MyEclipse Struts
- // XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_4.1.0/xslt/JavaClass.xsl
- package com.moreFileUpdate.action;
- import java.util.List;
- 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;
- import org.apache.struts.upload.FormFile;
- import com.moreFileUpdate.data.UploadFile;
- import com.moreFileUpdate.form.MoreFileUploadForm;
- /**
- * MyEclipse Struts
- * Creation date: 10-28-2006
- *
- * XDoclet definition:
- * @struts.action path="/moreFileUpload" name="moreFileUploadForm" scope="request" validate="true"
- */
- public class MoreFileUploadAction extends Action {
- // --------------------------------------------------------- Instance Variables
- // --------------------------------------------------------- Methods
- /**
- * Method execute
- * @param mapping
- * @param form
- * @param request
- * @param response
- * @return ActionForward
- */
- public ActionForward execute(
- ActionMapping mapping,
- ActionForm form,
- HttpServletRequest request,
- HttpServletResponse response) {
- MoreFileUploadForm moreFileUploadForm = (MoreFileUploadForm) form;
- List myFiles = moreFileUploadForm.getMyFiles();
- for(int i =0;i
- UploadFile uploadFile = (UploadFile)myFiles.get(i);
- FormFile file = uploadFile.getFile();
- if(file==null){
- System.out.println("file is null");
- }
- else{
- //能运行到这里,就可以使用单个文件上传的方法进行上传了。循环而已
- System.out.println("filename:::" + file.getFileName());
- System.out.println("file size:::" + file.getFileSize());
- }
- }
- return null;
- }
- }
java 代码
- UploadFile.java如下:
- ------------------------------
- package com.moreFileUpdate.data;
- import org.apache.struts.upload.FormFile;
- public class UploadFile {
- private FormFile file;
- public FormFile getFile() {
- System.out.println("run in uploadFile.getFile()");
- return file;
- }
- public void setFile(FormFile file) {
- System.out.println("----------------------------");
- this.file = file;
- }
- }
js 代码
- ------以下是jsp页面-------
- "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html:html> </html:html>
- <script language=< span="">"javascript" type="text/javascript">
- var num = 0;
- function addFile(){
- num++;
- var obj=document.getElementById("uploadFile");
- var innerHTML=obj.innerHTML;
- var insertHTML="
<input type='file' name='uploadfile["< span="">+num+"].file'>"; - innerHTML=innerHTML+insertHTML;
- //alert(innerHTML);
- obj.innerHTML=innerHTML;
- }
- function upload(){
- moreFileUploadForm.submit();
- }
- </script>
- "#ffffff">
- "1">