我有一个带有以下ActionForm的Struts 1应用程序:
import org.apache.struts.upload.FormFile;
public class uploadedFileForm {
public FormFile theFile;
public FormFile getTheFile() {
return theFile;
}
public void setTheFile(FormFile theFile) {
this.theFile = theFile;
}
}
我的JSP页面的格式如下:
<html:form action="/myAction" enctype="multipart/form-data">
<html:file property="theFile" onkeypress="return false;" />
</html:form>
当我将表单提交给Struts操作时,我立即收到以下错误消息:
org.apache.commons.beanutils.ConversionException: Could not convert java.lang.String to org.apache.struts.upload.FormFile
我尝试在Action的开头添加一些调试语句,但是没有一个打印出来。这似乎表明Struts在执行我的操作之前就抛出了此错误。
有人对导致此错误消息的原因有任何建议吗?
该问题与<html:form>
标签有关。
标记上需要method="post"
和enctype="multipart/form-data"
属性。
我的实际表单更复杂,并且没有enctype="multipart/form-data"
属性。当我添加它时,一切正常。