Problema con contenido formulario al pasarlo a un JSP

Tengo un formulario que contiene un vector de objetos, este formulario lo recibe el JSP pero no me deja recorrer el vector del formulario de esta manera:
 Esto me funciona perfectamente en otro apartado de la aplicación y aquí esta igual pero no funciona. Debuggeando he visto que el vector llega relleno perfectamente hasta el jsp (d hecho lo tengo en el request dl jsp)
Este es el error que me da:  
[29/01/08 16:52:35:375 CET]  7090709 WebGroup      E SRVE0026E: [Error de servlet]-[An error occurred while evaluating custom action attribute "value"
 with value "${frmContratos.vContratos[bolc]}": Unable to find a value for "vContratos" in object of class "es.gedasgrp.tpi.presentatio
n.forms.listados.ContratosForm" using operator "." (null)]: javax.servlet.jsp.JspException: An error occurred while evaluating custom act
ion attribute "value" with value "${frmContratos.vContratos[bolc]}": Unable to find a value for "vContratos" in object of class "es.gedasgrp.tpi.presentation.fo
rms.listados.ContratosForm" using operator "." (null)
    at java.lang.Throwable.(Throwable.java)
    at java.lang.Throwable.(Throwable.java)
    at javax.servlet.jsp.JspException.(JspException.java:109)
    at org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:109)
    at org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:129)
    at org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager.evaluate(ExpressionEvaluatorManager.java:75)
    at org.apache.taglibs.standard.tag.el.core.ExpressionUtil.evalNotNull(ExpressionUtil.java:48)
    at org.apache.taglibs.standard.tag.el.core.OutTag.evaluateExpressions(OutTag.java:99)
    at org.apache.taglibs.standard.tag.el.core.OutTag.doStartTag(OutTag.java:57)
    at org.apache.jsp._contratos_5F_list._jspService(contratos_list.jsp     :54)
    at com.ibm.ws.webcontainer.jsp.runtime.HttpJspBase.service(HttpJspBase.java:89)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.ibm.ws.webcontainer.jsp.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:344)
    at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.serviceJspFile(JspServlet.java:683)
    at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.service(JspServlet.java:781)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
    at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
    at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
    at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
    at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
    at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
    at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:1014)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:592)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:204)
    at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
    at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
    at es.gedasgrp.framework.presentation.controller.FrameworkCommonRequestProcessor.doForward(FrameworkCommonRequestProcessor.java:304)
    at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
    at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)
    at es.tao.framework.presentation.controller.TaoRequestProcessor.processForwardConfig(TaoRequestProcessor.java:66)
    at com.livinglogic.struts.workflow.WorkflowRequestProcessorLogic.process(WorkflowRequestProcessorLogic.java:598)
    at es.tao.framework.presentation.controller.TaoRequestProcessor.process(TaoRequestProcessor.java:194)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
    at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
    at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
    at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
    at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
    at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
    at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:76)
    at org.extremecomponents.table.filter.AbstractExportFilter.doFilter(AbstractExportFilter.java:49)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:1010)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:592)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:204)
    at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:125)
    at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:286)
    at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
    at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182)
    at...

1 Respuesta

Respuesta
1
Usas EL para recupera elementos del vector, por lo que supongo que cuando te refieres aque el vector está en la request quieres decir que en objeto "frmContratos" de la request hay un "getVContratos" que es el que devuelve el vector y que luego existe un elemento "bolc" que te permite encontrar el elemento a buscar (el indice).
El error que te da :
Unable to find a value for "frmContratos" in object of class "es.gedasgrp.tpi.presentatio
n.forms.listados.ContratosForm" using operator "."
Creo que es porque no existe un método getVContratos()... revisa tu código.
Es que ese es el problema que me tiene desconcertado que el método get si que existe en ContratosForm :S y obviamente he tirado el servidor, reconstruido el proyecto y todo eso :(
Si no se te ocurre nada más dímelo y termino la pregunta
Muchas gracias :)
Normalmente mi solucion suele ser primero hacer una recuperación usando scriptles y hacer un debug.
Así, si tienes el frmContratos en la request, haz un :
Haces un debug y verificas de que los datos te llegan.
Tambien debes de ir por partes para ver el fallo EL, copia tu jsp actual y reducelo a la mínima expresion, luego ve modificandolo añadiendo "trozos" hasta que encuentres exactamente que puede fallar:
${frmContrato} --> debe salirte el toString del objeto
${frmContrato.vContratos} -->el listado de objetos..
... etc
Cuando falle, centrate en eso.
Ten en cuenta tambien el sistema que tiene de buscar nombres de métodos EL para los get, la convención de nombres para javaBeans.
No sé en que más ayudarte.
Muchas gracias por tu pronta respuesta, en el jsp tengo los valores, ya le he hecho debug es justo en esto cuando falla: ${frmContrato.vContratos} seguiré probando a ver q logro sacar.
Espero q no t importe q t fiche para hacert otras preguntillas si en algún momento me surge alguna duda más d J2EE
Un cordial saludo :)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas