日期:2014-05-18  浏览次数:20909 次

struts上传问题
java.lang.IllegalArgumentException: Cannot invoke form.DownloadForm.setTheFile - argument type mismatch
org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1778)
org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1759)
org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648)
org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677)
org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022)
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)
util.EncodingFilter.doFilter(EncodingFilter.java:25)


我要用struts做一个上传,中间报的这个错,谁能帮忙解决一下!


------解决方案--------------------
enctype 属性取值: 
application/x-www-form-urlencoded -- 窗体数据被编码为名称/值对.这是标准的编码格式. 
multipart/form-data -- 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分. 
text/plain -- 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符. 



application/x-www-form-urlencoded 为默认
multipart/form-data 以为stream流的方式传递表单的直
所以你的表单中要加入enctype="multipart/form-data"