在我的jsp中我有一个像这样的html:文件,并且在表单中我有getter和setter.但是当我跑步的时候 Caused by: java.lang.IllegalArgumentException: Cannot invoke com.app.app.struts.forms.MyForm.setDocfile on bean class '
Caused by: java.lang.IllegalArgumentException: Cannot invoke com.app.app.struts.forms.MyForm.setDocfile on bean class 'class com.app.app.struts.forms.MyForm' - argument type mismatch - had objects of type "java.lang.String" but expected signature "org.apache.struts.upload.FormFile"
JSP:
<html:file property="docfile" styleId="docfile" size="45" ></html:file>
仅在提交页面时才收到错误,我没有上传任何内容. (上传字段不是必填项.)
它似乎是编码的问题,struts表单不承认提交作为一种文件类型,请确保将表单的enctype属性设置为multipart / form-data和方法作为post.所以你应该:
<html:form action="/somePath" enctype="multipart/form-data" method="post"></html:form>
请注意,这可能会使您的验证陷入困境.有关更多信息,请参见this线程