2010-02-19 8 views
0

У меня есть приложение Struts 1 со следующим ActionForm:FormFile Бросив ConversionException

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 

Я попытался добавить некоторые отладочные заявления на th начало моего действия, но ни один из них не распечатывался. Это, по-видимому, указывает на то, что Struts бросает эту ошибку, прежде чем достигнуть моего действия.

Есть ли у кого-нибудь предложения о том, что может вызвать это сообщение об ошибке?

ответ

2

Проблема связана с тегом html: form.

Мне нужно было иметь атрибуты method = "post" и enctype = "multipart/form-data" в теге html: form.

Моя фактическая форма была более сложной и не имела свойства enctype = "multipart/form-data". Когда я добавил его, все сработало нормально.