Java论坛网»Java技术»多文件上传的异常,信息,看不太懂,请高手指点一二

多文件上传的异常,信息,看不太懂,请高手指点一二

问?:

上传方式参考前辈门的资料如下:
主要代码如下.在线等待答案!

Form部分:

public class MultiUploadForm extends ActionForm {
private List myFiles;
public MultiUploadForm(){
myFiles = new ArrayList();
//为了能够在页面初始显示一个file
myFiles.add(new UploadFile());
}
public List getMyFiles() {
return myFiles;
}

//注意这个方法的定义

public UploadFile getUploadFile(int index){
int size = myFiles.size();
if(index>size-1){
myFiles.add(new UploadFile());
}
return (UploadFile)myFiles.get(index);
}
public void setMyFiles(List myFiles) {
this.myFiles = myFiles;
}
}

Dataset部分:
public class UploadFile implements Serializable {
private FormFile file;
public FormFile getFile() {
System.out.println("run in uploadFile.getFile()");
return file;
}
public void setFile(FormFile file) {
this.file = file;
}
}
Action部分:
public class MultiUploadAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
MultiUploadForm multiUploadForm = (MultiUploadForm) form;
List myFiles = multiUploadForm.getMyFiles();
for(int i =0;i<myFiles.size();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;
}
}

JSP部分:

<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>

<html:html>
<head>
<title>
multiUploadDemo
</title>
</head>
<script language="javascript" type="">
var num = 0;
function addFile(){
var innerHTML = multiUploadForm.innerHTML;
var signal = "<TD id=tdTarget>";
var signalLen = signal.length;
var targetIndex = innerHTML.indexOf(signal);

var preHTML = innerHTML.substring(0,(targetIndex-6));
var subHTML = innerHTML.substring(targetIndex-6);
num++;
var insertHTML = "<TR><TD><input type=file name=uploadFile["+ num + "].file value=''></TD>";
innerHTML = preHTML + insertHTML + subHTML;

multiUploadForm.innerHTML = innerHTML;
//alert(multiUploadForm.innerHTML);
}
function upload(){
multiUploadForm.submit();
}
</script>
<body bgcolor="#ffffff">
<html:form method="post" action="/multiUploadAction.do" enctype="multipart/form-data">
<table border="1">
<TBODY>
<br/><br/>

this is file
<nested:iterate id="uploadFile" property="myFiles" name="multiUploadForm" indexId="index">
<nested:nest property="uploadFile">
<nested:file property="file" name="uploadFile" indexed="true"/>
</nested:nest>
</nested:iterate>


<TR>
<input type="button" name="btnAddFile" value="Add File" onclick="addFile()"/>
<TR><TD id="tdTarget"></TD>
<input type="button" name="btnUpload" value="upload" onclick="upload()">
</TBODY>
</table>
</html:form>
</body>
</html:html>

struts-config.xml部分:

<form-beans>
<form-bean name="multiUploadForm" type="MultiUploadForm" />
</form-beans>

<action name="multiUploadForm" path="/multiUploadAction" type="MultiUploadAction" />






HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:805)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.fgj.sys.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:41)


root cause

java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1773)
org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:405)
org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:340)
org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:684)
org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:884)
org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:805)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.fgj.sys.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:41)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.28
答!: 1:
没人看看吗?
答!: 2:
代码太长了,帮你顶顶
答!: 3:
晕……我把你的代码copy过来一试,没有问题……
答!: 4:
用动态表单
答!: 5:
BeanUtils.populate有问题啊.
肯定是把属性拷过去的时候类型不匹配
答!: 6:
form的定义里面属性的问题吧,报这个错基本都是这种,仔细查查

相关JAVA教程:
tomcat安装好了,但http://127.0.0.1:8080为空白页????
struts:基础问题!!!HTTP Status 503 -
什么是jopo
hql 如何指定用户?<急>
请问:关于jfreechart中的BarChart3DDemo4.java中怎么让数值显示在柱子顶上。
SC2.0 J2EE Framework 介绍
求救 Struts1.2中配置SQL数据库连接 这是我所有能给的分了.穷啊!!
关于jcomboBox的两个问题
请问在JBOSS中使一个无状态bean成为单例的?
JTable 单元格不能响应键盘输入
请教各位大哥: 画UML图最好是用什么工具? 谢谢!!!
小弟写了一个图像处理的程序QDImage,在CSDN源码下载中,大家帮着改改