Struts 1.3.8 Listas!!!

Hola que tal chavos.

Aquí de nuevo solicitando consejos y/o sugerencias:

Les cuento, estoy utilizando struts y mi problema es el siguiente:

Lleno una lista de empleados desde un action de la siguiente forma:
 
Lo que quiero es modificar los datos de la lista y enviarla de nuevo a otro action para hacer la persistencia, el problema es que no llegan los datos, mi lista esta en null; en mi actionForm tengo esto para recibir el arreglo de empleados desde el JSP como sigue:
 
En mi Action tengo lo siguiente:
 
Simplemente se pasa a no existen datos, no entiendo porque??? es como si no se setearan los nuevos datos a la lista, existe alguna otra forma de enviar una lista a un action? Si alguien la sabe le agradecería que me dijera.

Gracias, saludos.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de WinDoctor

Falta metodo set con index

En el form debes tener una lista y dos métodos como estos;

 

donde Miembros es el tipo de objeto que almacena la lista. De esta forma, cuando se haga un submit se enviaran cada uno de los "registros" que corresponderán con un índice del arreglo.

Imagen de ghosttigger1203

??? matriz Miembros

Hola WinDoctor, gracias por tu respuesta.

De hecho ya tenia esos métodos en el action form como sigue:
 
pero me marca error diciendo: no existe un getter para listaMiembros, es como lo mostre??? o para los 2 métodos extra con el index deben llevar nombres diferentes???

Gracias...

Imagen de neko069

Mira, yo no sé nada de nada

Mira, yo no sé nada de nada de Struts, pero al parecer el error está en que deberías de tener un   así sin parámetros, si lo vas a sobrecargar, pues no sé si te tire errores, pero de entrada, al parecer por convención se requiere usar un getter como debería, o sea, sin parámetros....

Imagen de WinDoctor

No recuerdo bien pero creo en

No recuerdo bien pero creo en el JSP debe ser algo asi

 

ó algo asi;

 

perdón por el scriptlet....

de preferencia pon otro nombre a los método que tienen el index y ese es el que debes poner en al construir en StringBuilder.

Otra forma es utilizando algo asi:

 

Con lo anterior no hace falta declarar los métodos con un parámetro index...

Imagen de ghosttigger1203

Aún sin éxito

Hola WinDoctor, estuve ocupado un buen ratito por eso no respondía, pero aquí estoy de nuevo.

Respecto a lo del JSP y los controles dinamicos ya lo intente de distintas formas, utilizé las que posteaste pero estoy como al principio, no logro que lleguen los datos al action. Mira te pongo lo que intenté.
JSP
 
FORM
 
ACTION
 

Cuando invoco al Action me direcciona al JSP en cuestión, como la lista esta vacía me pasa al "else" y me crea 2 registros, el Action me vuelve a direccionar al mismo JSP y los pinta, ahora que ya tengo esos registros los edito y vuelvo a invocar al Action, a la hora de obtener el tamaño de la lista, este es 0 por lo que me pasa al "else" y me crea los mismos registros, siendo que se modificaron desde el JSP.

Cabe mencionar que también probe de la siguiente manera:

JSP
 
FORM
 
En el Action es lo mismo, marca este error:
 

También probe esto solo en el JSP lo demas queda igual(FORM Y ACTION), solo le quite la propiedad indexed="true" a cada elemento
 
Me sale exactamente el mismo error de arriba.

Intente con este otro JSP, cambié la propiedad name por property dejando el valor anterior de name
 

Me sale este error:
 

La verdad ya no se que intentar, espero y me den algún consejo. De antemano Gracias... Saludos.

Tu ejemplo original solo

Tu ejemplo original solo requiere unos cuantos cambios:

- El id y la propiedad deben llamarse igual
- El name de los elementos internos debe ser igual al valor de property del iterate
- Se debe utilizar la propiedad "indexed" con valor "true"

 

Con esto el html generado será algo así
 

Imagen de ghosttigger1203

Mmmmm creo que NO!!!

Mmmmmm creo que no queda así Neko Pui.

JSP
 

FORM
 

ACTION
 

Me sale el siguiente error:

 

Cuando invoco al action la primera vez, se pasa al "else" lo cual pinta un registro en el JSP, al modificar éste e invocar de nuevo al action es cuando marca el error, parece que no se setea el registro en el ArrayList y al Iterarlo de nuevo en el JSP quiere tomar el primer elemento de la lista pero como la lista es de tamaño 0 por eso marca el error.

Espero sus comentarios y/o sugerencias chavos, Gracias!!!

Refiero al primer comentario

Faltan los métodos en tu form para recuperar el índice:

 

Con eso ahora sí debería funcionarte. Hace tiempo había un bug con Beanutils por el que no podías utilizar Listas, sino únicamente arreglos, pero me imagino que ese error ya no debe existir, así que con esos métodos adicionales todo debería funcionar.

Imagen de ghosttigger1203

Mmmmm ni con eso

Mmmmm ni con eso, de echo se me olvidó comentar que ya lo había probado de esa manera:

Con nombre de metodos para los index diferentes a los normales(solo le quite la "s").

 

Me da el siguiente error:

 

Con nombres iguales tanto para getters y setters(le deje la "s")

 

Me da el siguiente error al cargar de inicio el JSP

 

Espero sugerencias porfa, no se que sea :(.

Saludos!!!

Ya intentaste con arrays?

Recuerdo que había un error en java 1.4 con el que sucedía eso. Intenta utilizar arreglos en vez de listas a ver si te funciona. La otra solución, que era muy engorrosa por cierto, era utilizar DynaBeans. Prueba cambiarlos a Miembros[].
Si esto de plano no funciona... que Dios nos agarre confesados, jeje. Quiero decir, ya no puedo ayudarte mucho.

Ejemplo con lista que contiene listas

¡Solucionado!

el ejemplo lo hice con una lista de personas en donde cada una tiene un nombre y una lista de facturas y las facturas cada una tiene un valor y una cantidad

así