1. 程式人生 > >struts2 如何接收input name[] 的陣列或者集合

struts2 如何接收input name[] 的陣列或者集合

HTML5上傳需要action接收imput陣列:

直接看程式碼:

<span style="white-space:pre">					</span><div class="btns">';
		            html += '					<input id="fileImage" type="file" size="30" name="<strong>fileselect[]</strong>" '+multiple+'>';
		            html += '					<div class="webuploader_pick">選擇檔案</div>';
		            html += '					<div class="upload_btn">開始上傳</div>';
		            html += '				</div>';


package com.danlan.action;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import org.apache.struts2.ServletActionContext;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;

import com.danlan.util.FileUtil;


/**
 * 多照片上傳
 * @author Administrator
 *
 */
@Controller("uploadActions")
@Scope("prototype")
@Transactional	
public class UploadActions {
	
	// 接收臨時檔案物件
	List<File> fileselect;
	 
	private File fileImage;
	
	// 接收原始檔名,頁面文字框name值+FileName
	private String uploadInf;
	
	public String execute() {
 
		if(fileselect == null )
			return "error";
		
		// 拼相對於當前專案部署的路徑apache-tomcat-6.0.36\webapps\StrutsDay06
		uploadInf = "upload/";
		// 根據相對路徑找到其完整路徑
		uploadInf = ServletActionContext
			.getServletContext().getRealPath(uploadInf);
		
		System.out.println(uploadInf);
		System.out.println(fileselect.size());
		 for(File some:fileselect){
			FileUtil.copy(some, new File(uploadInf));
			
		 }
		return "success";
	}
	
	
 


	public void setUploadInf(String uploadInf) {
		this.uploadInf = uploadInf;
	}

}
struts2.xml就不寫了

不管是AJAX還是表單.都可以.

明天再把上傳邏輯改為微信JS -SDK 介面上傳.