2 votes

Téléchargement de fichiers dans struts

J'utilise Struts dans mon projet j2ee. Je dois télécharger un fichier, mon jsp dans le formulaire simple est le suivant

<html:form action="/MerchantComplaintAdd" method="post" enctype="multipart/form-data">
<html:file property="file" size="50" />
<html:submit styleClass="FormButton" >Save</html:submit>&nbsp;
</html:form>

Ma configuration struts pour ce formulaire est la suivante

<form-bean name="MerchantComplaintFormAdd"
type="org.apache.struts.validator.DynaValidatorActionForm">
<form-property name="file" type="org.apache.struts.upload.CommonsMultipartRequestHandler"> 

Lorsque je visualise ma page jsp, elle semble correcte mais lorsque je soumets le formulaire, j'obtiens l'exception suivante

org.apache.commons.beanutils.ConversionException: Cannot assign value of type 'org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile' to property 'file' of type 'org.apache.struts.upload.CommonsMultipartRequestHandler'
at org.apache.struts.action.DynaActionForm.set(DynaActionForm.java:422)
at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1733)
at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648)
at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677)
at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022)
at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:805)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)

Pouvez-vous me dire ce qui ne va pas dans ma configuration dans le fichier struts-config ?

4voto

Shashi Points 3122

http://www.mkyong.com/struts/struts-file-upload-example/

La ligne

<form-property name="file" type="org.apache.struts.upload.CommonsMultipartRequestHandler">

sera

<form-property name="file" type="org.apache.struts.upload.FormFile">

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X