我有一个带有以下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在达到我的行动之前就抛出了这个错误。
有没有人对可能导致此错误消息的内容有任何建议?
答案 0 :(得分:2)
问题与html:form标签有关。
我需要在html:form标签上同时使用method =“post”和enctype =“multipart / form-data”属性。
我的实际形式更复杂,没有enctype =“multipart / form-data”属性。当我添加它时,一切正常。