En este grupo En todos

Foro de Struts



struts file upload

walter
Escrito por walter
el 14/07/2010

Hola amigos.

tengo un problema intento usar el <html:file> de struts.

el error es el siguiente:

Ha ocurrido un error en la aplicación: org.apache.commons. fileupload.FileUpload.setSizeMax(I)V

Click aqui para ver en detalle.

java.lang.NoSuchMethodError: org.apache.commons. fileupload.FileUpload.setSizeMax(I)V
at org.apache.struts. upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler. Java:219)
at org.apache.struts. util.RequestUtils.populate(RequestUtils. Java:1055)
at org.apache.struts. action.RequestProcessor.processPopulate(RequestProcessor. Java:816)
at org.apache.struts. action.RequestProcessor.process(RequestProcessor. Java:254)
at org.apache.struts. action.ActionServlet.process(ActionServlet. Java:1420)
at org.apache.struts. action.ActionServlet.doPost(ActionServlet. Java:520)
at javax.servlet.http. HttpServlet. Service(HttpServlet. Java:637)
at javax.servlet.http. HttpServlet. Service(HttpServlet. Java:717)
at org.apache.catalina. core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain. Java:290)
at org.apache.catalina. core.ApplicationFilterChain.doFilter(ApplicationFilterChain. Java:206)
at gob.osinerg.common. SessionFilter. DoFilter(SessionFilter. Java:146)
at org.apache.catalina. core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain. Java:235)
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:128)
at org.apache.catalina. valves.ErrorReportValve.invoke(ErrorReportValve. Java:102)
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:849)
at org.apache.coyote. Http11. Http11Protocol$Http11ConnectionHandler. Process(Http11Protocol. Java:583)
at org.apache.tomcat. util.net.JIoEndpoint$Worker. Run(JIoEndpoint. Java:454)
at java.lang.Thread. Run(Unknown Source)

clase jsp.

<html:form action="/mantAmbito. Do" styleId="ambito_form" enctype="multipart/form-data">
<input type="hidden" name="method" id="method">
<html:hidden property="operacion"/>

<TABLE style="MARGIN-TOP: 4px; MARGIN-LEFT: 4px" border=0 cellSpacing=1 cellPadding=0 width="99%">
<TBODY><TR> <TD align="center" valign="bottom" class=headerOptionClass>Ambito</TD></TR></TBODY>
</TABLE>
<br>

<center>

<fieldset style="width:50%; text-align: left">
<legend class="formHeaderCellClass">Ambito</legend>
<table align="center" class="tableForm">
<tr><td class="fieldName">Nombre corto :</td>
<td class="fieldValue">
<html:text property="ambito. NombreCorto"/>
</td></tr>
<tr><td class="fieldName">Nombre largo :</td>
<td class="fieldValue">
<html:text property="ambito. NombreLargo" />
</td></tr>
<tr><td class="fieldName">Descripción :</td>
<td class="fieldValue">
<html:textarea property="ambito. Descripcion" />
</td></tr>
<tr><td class="fieldName">Manual de ayuda :</td>
<td class="fieldValue">
<html:file property="archivoAyuda"></html:file>
</td></tr>

</table>
</fieldset>

<fieldset style="width:50%; text-align: left">
<legend class="formHeaderCellClass">Operaciones</legend>
<table style="width:100%;" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<input type="button" name="button" id="button" value="Grabar" class="buttonSubmitClass" style="width: 70pt" onclick="grabar()"/>
<input type="button" name="button" id="button" value="Salir" class="buttonSubmitClass" style="width: 70pt" onclick="salir()"/>
</td>
</tr>
</table>
</fieldset>
<html:errors name="error" />
</center>

</html:form>

clase action form:



public class MantenimientoAmbitoForm extends ActionForm {

List listAmbitos;
Ambito ambito;
String operacion;
FormFile archivoAyuda;


public List getListAmbitos() {
return listAmbitos;
}
public void setListAmbitos(List listAmbitos) {
this. ListAmbitos = listAmbitos;
}
public Ambito getAmbito() {
return ambito;
}
public void setAmbito(Ambito ambito) {
this. Ambito = ambito;
}
public String getOperacion() {
return operacion;
}
public void setOperacion(String operacion) {
this. Operacion = operacion;
}
public FormFile getArchivoAyuda() {
return archivoAyuda;
}
public void setArchivoAyuda(FormFile archivoAyuda) {
this. ArchivoAyuda = archivoAyuda;
}




}

clase action


public ActionForward grabar(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
try {
MantenimientoAmbitoForm ambitoForm = (MantenimientoAmbitoForm) form;
FormFile archivo=ambitoForm. GetArchivoAyuda();
ambitoForm. GetAmbito(). SetAyuda(archivo. GetFileData());
if (ambitoForm. GetOperacion(). CompareTo(NUEVO) == 0) {
mantAmbitoService. Registrar(ambitoForm. GetAmbito(),
getDatoAuditoria(request));
} else if (ambitoForm. GetOperacion(). CompareTo(MODIFICAR) == 0) {
mantAmbitoService. Modificar(ambitoForm. GetAmbito(),
getDatoAuditoria(request));
}
} catch (Exception e) {
guardarMensajeError(request, e);
}
return listar(mapping, form, request, response);
}

action-servlet. Xml

<bean name="/mantAmbito" class="gob.osinerg.dgn. interno.web.maestro. servlet.action.MantenimientoAmbitoAction" >
<property name="mantAmbitoService"><ref bean="mantAmbitoService"/></property>

</bean>

struts-config. Xml

<form-bean name="ambito_form" type="gob.osinerg.dgn. interno.web.maestro. servlet.form.MantenimientoAmbitoForm"/>

<action path="/mantAmbito" name="ambito_form" type="org.springframework.web. Struts. DelegatingActionProxy" parameter="method" validate="false">
<forward name="listado" path="/WEB-INF/jsp/dgn/interno/maestro/ambitoMantenimiento. Jsp" />
<forward name="formulario" path="/WEB-INF/jsp/dgn/interno/maestro/ambitoForm. Jsp" />
</action>