¿Cómo presento múltiples modelos en Struts 2?
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?
Solución
Debe leer la Guía de entrada tabular .
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.