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

Error en struts-layout con selectName y selectIndex

Estas en el tema de Error en struts-layout con selectName y selectIndex en el foro de Java en Foros del Web. Hola, buen día! Estoy trabajando en un proyecto, en el cual necesito mostrar un catálogo de elementos, es decir, una lista. Debido a que es ...
  #1 (permalink)  
Antiguo 29/11/2006, 09:47
 
Fecha de Ingreso: agosto-2006
Ubicación: Monterrey, México
Mensajes: 6
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Error en struts-layout con selectName y selectIndex

Hola, buen día!

Estoy trabajando en un proyecto, en el cual necesito mostrar un catálogo de elementos, es decir, una lista. Debido a que es un abc, debo poder seleccionar varios de los elementos mostrados. Para ello utilizo un checkbox que me permita seleccionarlos. Por lo tanto, necesito una variable que me permita almacenar un arreglo de elementos seleccionados para que pueda trabajar con ellos.

El problema que se me presenta es, justamente, cuando le agrego la variable donde debe almacenar esos elementos. Defino una variable llamada "gruposEstadisticoId", de tipo java.lang.Integer[] (o sea, un arreglo), la cual almacenará los items elegidos, en este caso, los "grupoElementoId". A la variable arreglo, la asigno al selecName, pero al hacer esto y acceder a la página me genera un error del un índice fuera de rango. El error lo muestro abajo. (Error 1)

Haciendo pruebas, utilicé la propiedad selecIndex, asignándole "gruposEstadisticoId". Con ello, logro ver la página y elegir los elementos que necesito, pero cuando le doy el "submit", me marca un error de que no está definido un elemento index. El error está al final (Error 2).

Si alguien puede apoyarme para solucionarlo, se lo agradecería.

Agrego configuración de mi struts-config.xml y .jsp para brindar una visión más completa.

*** My struts-config.xml tiene lo siguiente: ****

<form-bean name="GrupoEstadisticoForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="whatNext" type="java.lang.String"/>
<form-property name="gruposEstadisticoId" type="java.lang.Integer[]"/>
<form-property name="grupoEstadisticoId" type="java.lang.Integer"/>
<form-property name="grupoEstadisticoDescripcion" type="java.lang.String"/>
<form-property name="productosId" type="java.lang.Integer[]"/>
<form-property name="productoId" type="java.lang.Integer"/>
<form-property name="productoDescripcion" type="java.lang.String"/>
</form-bean>


*** Mi jsp utiliza lo siguiente: ***

<layout:pager sessionPagerId="paginaGrupo" align="center" maxPageItems="10"> <layout:collection name="catalogoGrupo" title="" styleClass="celdaFondoClaro" styleClass2="celdaFondoOscuro" align="center" sortAction="client" selectName="gruposEstadisticoId" selectProperty="grupoEstadisticoId" selectType="checkbox">
<layout:collectionItem title="Id" property="grupoEstadisticoId"></layout:collectionItem>
<layout:collectionItem title="Descripcion" property="grupoEstadisticoDescripcion"></layout:collectionItem>
</layout:collection>
</layout:pager>

*** Y el error 1 generado con el selecName es el siguiente:***

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.handle JspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet .java:810)
org.apache.struts.action.RequestProcessor.doForwar d(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processF orwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(Actio nServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet .java:697)
javax.servlet.http.HttpServlet.service(HttpServlet .java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doF ilter(ReplyHeaderFilter.java:96)

root cause

java.lang.ArrayIndexOutOfBoundsException
java.lang.reflect.Array.get(Native Method)
org.apache.struts.action.DynaActionForm.get(DynaAc tionForm.java:296)
org.apache.commons.beanutils.PropertyUtils.getInde xedProperty(PropertyUtils.java:474)
org.apache.commons.beanutils.PropertyUtils.getInde xedProperty(PropertyUtils.java:428)
org.apache.commons.beanutils.PropertyUtils.getNest edProperty(PropertyUtils.java:770)
org.apache.commons.beanutils.PropertyUtils.getProp erty(PropertyUtils.java:801)
fr.improve.struts.taglib.layout.util.LayoutUtils.g etBeanFromPageContext(LayoutUtils.java:210)
fr.improve.struts.taglib.layout.collection.Collect ionTag.isCurrentBeanSelected(CollectionTag.java:52 5)
fr.improve.struts.taglib.layout.collection.Collect ionTag.renderSelection(CollectionTag.java:491)
fr.improve.struts.taglib.layout.collection.Collect ionTag.renderItem(CollectionTag.java:436)
fr.improve.struts.taglib.layout.collection.Collect ionTag.addItem(CollectionTag.java:151)
fr.improve.struts.taglib.layout.collection.BaseCol lectionTag.addItem(BaseCollectionTag.java:312)
fr.improve.struts.taglib.layout.collection.FastCol lectionItemTag.doEndLayoutTag(FastCollectionItemTa g.java:177)
fr.improve.struts.taglib.layout.LayoutTagSupport.d oEndTag(LayoutTagSupport.java:47)
org.apache.jsp.catalogoGrupoEstadistico_jsp._jspx_ meth_layout_collectionItem_0(catalogoGrupoEstadist ico_jsp.java:604)
org.apache.jsp.catalogoGrupoEstadistico_jsp._jspx_ meth_layout_collection_0(catalogoGrupoEstadistico_ jsp.java:569)
org.apache.jsp.catalogoGrupoEstadistico_jsp._jspx_ meth_layout_pager_0(catalogoGrupoEstadistico_jsp.j ava:525)
org.apache.jsp.catalogoGrupoEstadistico_jsp._jspx_ meth_html_form_0(catalogoGrupoEstadistico_jsp.java :299)
org.apache.jsp.catalogoGrupoEstadistico_jsp._jspx_ meth_html_html_0(catalogoGrupoEstadistico_jsp.java :163)
org.apache.jsp.catalogoGrupoEstadistico_jsp._jspSe rvice(catalogoGrupoEstadistico_jsp.java:93)
org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet .java:810)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet .java:810)
org.apache.struts.action.RequestProcessor.doForwar d(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processF orwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(Actio nServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet .java:697)
javax.servlet.http.HttpServlet.service(HttpServlet .java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doF ilter(ReplyHeaderFilter.java:96)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.

*** El error 2 generado con el selecIndex es el siguiente: ***

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(Reque stUtils.java:1254)
org.apache.struts.action.RequestProcessor.processP opulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
javax.servlet.http.HttpServlet.service(HttpServlet .java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doF ilter(ReplyHeaderFilter.java:96)

root cause

java.lang.NullPointerException: No indexed value for 'grupoEstadisticoId[0]'
org.apache.struts.action.DynaActionForm.get(DynaAc tionForm.java:293)
org.apache.commons.beanutils.PropertyUtils.getInde xedProperty(PropertyUtils.java:474)
org.apache.commons.beanutils.PropertyUtils.getInde xedProperty(PropertyUtils.java:428)
org.apache.commons.beanutils.PropertyUtils.getNest edProperty(PropertyUtils.java:770)
org.apache.commons.beanutils.PropertyUtils.getProp erty(PropertyUtils.java:801)
org.apache.commons.beanutils.BeanUtils.setProperty (BeanUtils.java:881)
org.apache.commons.beanutils.BeanUtils.populate(Be anUtils.java:808)
org.apache.struts.util.RequestUtils.populate(Reque stUtils.java:1252)
org.apache.struts.action.RequestProcessor.processP opulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
javax.servlet.http.HttpServlet.service(HttpServlet .java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doF ilter(ReplyHeaderFilter.java:96)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.
  #2 (permalink)  
Antiguo 29/11/2006, 15:02
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
La primera: java.lang.ArrayIndexOutOfBoundsException -> Te has pasado recorriendo un array (has accedido a un indice mayor que los elementos que hay).

El segundo es un NullPointer pero es da detalles del funcionamiento de Struts y yo no lo uso, asi que mucho no puedo decir.
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 20:20.