struts 里面 FormFile上传文件的问题
FormBean里面用了FormFile类型对应上传文件
用流的方式保存到文件,
但是我提交后一直出下面这个错误
action里面都没执行就抛异常了.
网页的enctype(这个单词可能写错了,我忘记了)="multipart/form-date"我也设置的
请问是什么原因.
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:1254)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
com.my.struts.util.SetCharacterEncoding.doFilter(SetCharacterEncoding.java:50)
root cause
java.lang.IllegalArgumentException: No bean specified
org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptor(PropertyUtils.java:837)
org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:934)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
com.my.struts.util.SetCharacterEncoding.doFilter(SetCharacterEncoding.java:50)
note The full stack trace of the root cause is available in the Tomcat logs.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.19
问题点数:20、回复次数:4Top
1 楼imA(男的不会,会的不男)回复于 2006-07-01 20:49:07 得分 0
你的bean没找到。Top
2 楼eva379(艺艺)回复于 2006-07-01 22:03:44 得分 0
你的表单的提交方式要改成POST提交(METHOD="POST")
还有当你用了<html:file>标签时,你的表单的标签也必须是struts的<html:form>标签Top
3 楼skying1(1年轻而流浪)回复于 2006-07-02 05:08:29 得分 0
是不是没有找到BEAN 呀,eva379(艺艺) 说的东西我都是正确的
如果没找到BEAN我没见到过这个异常,上次也是出了这个错误
是没有enctype="multipart/form-date",这次倒不行了,真郁闷!Top
4 楼nlhlx(胡)回复于 2006-07-03 23:03:54 得分 0
你可用newxy(新坐标),newxy用了struts的FormFile类。
newxy1.02文件上传到文件夹、到数据库的方法如下:
1.上传文件到服务器文件夹中的方法:
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="/WEB-INF/newxy-html.tld" prefix="nhtml"%>
<%@ taglib uri="/WEB-INF/newxy-logic.tld" prefix="nlogic"%>
<nlogic:action1 id="act1" formName="fileForm"/>
<nhtml:form action="" formName="fileForm" enctype="multipart/form-data">
文件夹:<input type="text" name="_directory" size="40"/><br />
文件1,不大于1024K:<nhtml:file property="file1" size="40" maxSize="1024"/><br />
文件2,不大于1024K:<nhtml:file property="file2" size="40" maxSize="1024"/><br />
</nhtml:form>
<nhtml:button actionId="act1" method="upload"/>
2.上传文件到数据库中的方法:
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="/WEB-INF/newxy-html.tld" prefix="nhtml"%>
<%@ taglib uri="/WEB-INF/newxy-logic.tld" prefix="nlogic"%>
<nlogic:action1 id="act1" formName="fileForm"/>
<nhtml:form action="" formName="fileForm" enctype="multipart/form-data">
数据库表名:<input type="text" name="_table" size="40"/><br />
说明:<input type="text" name="explain" size="40"/><br />
文件1,不大于1024K:<nhtml:file property="file1" size="40" maxSize="1024"/><br />
文件2,不大于1024K:<nhtml:file property="file2" size="40" maxSize="1024"/><br />
</nhtml:form>
<nhtml:button actionId="act1" method="update"/>
这两种方法是不是最简单的,而且很相似。大家帮忙比较,找到更简单的方法送50分。
newxy技术网站:http://www.newxy.net
有关文件上传:
文件上传至文件夹: http://www.newxy.net/doc.jsp#anchor15.1
文件上传至数据库: http://www.newxy.net/doc.jsp#anchor15.2
文件上传至文件夹与上传至数据库的比较:http://www.newxy.net/doc.jsp#anchor15.3
有关范例:
http://www.newxy.net/zh_cn/samples/sample2/demo.jspTop




