Pregunta

Tengo un JSP que permite a los usuarios crear dinámicamente campos de formulario adicionales para crear múltiples objetos. Tal vez quiero permitir que los usuarios puedan enviar tantos artículos de línea como quieran al enviar un formulario de factura.

¿Cómo puedo crear una Acción de Struts 2 que pueda tomar una ArrayList rellena con objetos creados a partir de esos campos generados dinámicamente?

¿Fue útil?

Solución

Otros consejos

Según la documentación (siempre pobre) , que te obliga a intentar extrapolar la información que deseas, en lugar de simplemente decirte con autoridad (y suponiendo que realmente estás preguntando acerca de la conversión de tipos incorporada de Struts), tus campos de formulario deberían tener un nombre como ...

someList.makeNew(0).someField1
someList.makeNew(0).someField2
...
someList.makeNew(1).someField1
someList.makeNew(1).someField1
...

... y luego necesitarías configure un archivo ActionClassName-conversion.properties para que el convertidor de tipos sepa cómo manejar la conversión de tipo para los campos que comienzan con " someList " ;.

La única vez que lo intenté yo mismo, tuve problemas para hacerlo funcionar con Listas y tuve que usar Maps.

Aquí hay una útil entrada de blog sobre modificar un Mapa de objetos usando la conversión de tipo - No he tenido mucha suerte al encontrar información útil sobre " makeNew " el nombre del campo da formato a las menciones de la documentación, pero esto podría ayudarlo a comenzar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top