jsp page code:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'array.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<div>数组参数测试</div>
<form action="array.action" enctype="multipart/form-data" method="post">
<input type="text" name="userName"/>
<input type="text" name="userName"/>
<input type="text" name="userName"/>
<input type="text" name="userName"/>
<input type="text" name="userName"/>
<input type="file" name="data">
<input type="submit" value="提交数据">
</form>
</body>
</html>
Struts2 Action code:
package com.action;
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class ArrayAction{
private String [] userName;
private File data;
private String dataFileName;
private String dataContentType;
public void setDataContentType(String dataContentType) {
this.dataContentType = dataContentType;
}
public void setDataFileName(String dataFileName) {
this.dataFileName = dataFileName;
}
public void setData(File data) {
this.data = data;
}
public void setUserName(String[] userName) {
this.userName = userName;
}
/**
* @return
*/
public String execute() {
// TODO Auto-generated method stub
System.out.println("ok! function!");
//输出数组中的数据
for (String str : userName) {
System.out.println(str);
}
//文件处理
try {
String realpath = ServletActionContext.getServletContext().getRealPath("/upload");
System.out.println(dataFileName+"文件的名称");
System.out.println(dataContentType+"文件的类型");
File savefile = new File(new File(realpath), dataFileName);
System.out.println(savefile.getPath());
FileUtils.copyFile(data, savefile);
System.out.println("文件上传成功!");
} catch (Exception e) {
// TODO: handle exception
System.out.println(e);
}
// File saveFile=new File(this.file,file.getName());
return "success";
}
}
struts.xml config file:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.i18n.encoding" value="UTF-8"/>
<package name="default" extends="struts-default">
<action name="login" class="com.action.LoginAction">
<result name="success">/success.jsp</result>
</action>
<action name="reg" class="com.action.LoginAction" method="reg">
<result name="success">/success.jsp</result>
</action>
<action name="array" class="com.action.ArrayAction">
<result name="success">/success.jsp</result>
</action>
</package>
<!-- Add packages here -->
</struts>