Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con multibox en Struts

Estas en el tema de Problema con multibox en Struts en el foro de Java en Foros del Web. Hola gente, estoy haciendo mi proyecto fin de carrera con JSP, Struts, JPA/Hibernate y Tomcat Es una aplicación web para administrar un gimnasio, y quiero ...
  #1 (permalink)  
Antiguo 16/08/2009, 10:30
 
Fecha de Ingreso: agosto-2009
Mensajes: 1
Antigüedad: 14 años, 8 meses
Puntos: 0
Problema con multibox en Struts

Hola gente, estoy haciendo mi proyecto fin de carrera con JSP, Struts, JPA/Hibernate y Tomcat

Es una aplicación web para administrar un gimnasio, y quiero que el que maneje la aplicación pueda, al dar de alta un socio, seleccionar las clases que se puedan contratar.

El problema es que cuando pincho en cualquiera de los checkbox, al enviar los datos al servidor me da error.

El error es el siguiente:
------------------------------------------------------------------------------------------------------
javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(Reque stUtils.java:495)
org.apache.struts.action.RequestProcessor.processP opulate(RequestProcessor.java:816)
org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:203)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet .java:637)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
org.displaytag.filter.ResponseOverrideFilter.doFil ter(ResponseOverrideFilter.java:125)
org.netbeans.modules.web.monitor.server.MonitorFil ter.doFilter(MonitorFilter.java:390)

root cause

java.lang.IllegalArgumentException: Cannot invoke Formularios.SocioForm.setSelectedOptions - argument type mismatch
org.apache.commons.beanutils.PropertyUtilsBean.inv okeMethod(PropertyUtilsBean.java:1778)
org.apache.commons.beanutils.PropertyUtilsBean.set SimpleProperty(PropertyUtilsBean.java:1759)
org.apache.commons.beanutils.PropertyUtilsBean.set NestedProperty(PropertyUtilsBean.java:1648)
org.apache.commons.beanutils.PropertyUtilsBean.set Property(PropertyUtilsBean.java:1677)
org.apache.commons.beanutils.BeanUtilsBean.setProp erty(BeanUtilsBean.java:1022)
org.apache.commons.beanutils.BeanUtilsBean.populat e(BeanUtilsBean.java:811)
org.apache.commons.beanutils.BeanUtils.populate(Be anUtils.java:298)
org.apache.struts.util.RequestUtils.populate(Reque stUtils.java:493)
org.apache.struts.action.RequestProcessor.processP opulate(RequestProcessor.java:816)
org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:203)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet .java:637)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
org.displaytag.filter.ResponseOverrideFilter.doFil ter(ResponseOverrideFilter.java:125)
org.netbeans.modules.web.monitor.server.MonitorFil ter.doFilter(MonitorFilter.java:390)
-------------------------------------------------------------------------------------------------------

Mi JSP:
--------------------------------------------
<label>Clases:</label>
<div id="multibox">
<logic:iterate name="SocioForm" id="item" property="possibleOptions">
<div id="casilla">
<html:multibox property="selectedOptions">
<bean:write name="item" />
</html:multibox>
<bean:write name="item" />
</div>
</logic:iterate>
</div>
------------------------------------------

Mi ActionForm
------------------------------------------
private List possibleOptions = load();
private List<String> selectedOptions = new ArrayList<String>();

private List load() {
FachadaClases fachada = new FachadaClases();
List clases = fachada.listarClases();
return clases;
}

public List getPossibleOptions() {
return possibleOptions;
}

public void setPossibleOptions(List possibleOptions) {
this.possibleOptions = possibleOptions;
}

public List<String> getSelectedOptions() {
return selectedOptions;
}

public void setSelectedOptions(List<String> selectedOptions) {
this.selectedOptions = selectedOptions;
}
-----------------------------------------------------------------------------------

Mi action que se ejecuta al enviar los datos al servidor:
----------------------------------------------------------------------------
List<Estadoclase> clases = fachadaclase.obtenerclases(socioForm.getSelectedOp tions());

float cuota = util.CalcularCuota(estadopack, descuento, clases);

Etapasocio socio = new Etapasocio(null, 1, fechaInicio, cuota, 100);

fachadaSocio.registrarSocio(persona, socio);

return mapping.findForward(SUCCESS);
-------------------------------------------------------------------------

Si necesitais algo más de código sólo decidlo

Saludos

Última edición por Galego84; 16/08/2009 a las 10:42
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:17.