Problema con autoGrowNestedPaths en Spring 3.0
Llevo ya un rato trabajando con Spring MVC 3 y considero que entiendo bien los conceptos básicos, incluso crei que ya entendia bien el funcionamiento de las colecciones (especificamente listas) pasandolas del controlador a la vista pero parece ser que no.
Mi entendimiento es el siguiente: Todas las colecciones que son pasadas a las vistas por un controlador @Controller llevan una propiedad llamada autoGrowNestedPaths inicializada a true por defecto, de esta forma si hacemos crecer la coleccion en la vista utilizando javascript al hacer el POST el binder de Spring será capaz de modificar la lista que se paso en el GET para reflejar los cambios de la vista. Esto nos evita el tener que utilizar clases especificas como AutopopulatingList o LazyList. La unica observacion aqui es que la lista tiene que ser de un tipo POJO, por ejemplo: no se puede mandar un List porque Integer es final y manda "Could not instantiate property type Integer to autogrow nested property propiedad". Entonces mientras la lista que se manda sea de un tipo POJO Spring podra aplicar el autogrow sin ningun problema.
Utilizo 3 beans, cada uno definido en su propio archivo
Esto lo aplique en un controlador con la siguiente definicion:
La
enviada a la vista tiene inicializada la lista de
y cada
tiene inicializadas varias de las propiedades como nombre, pero la propiedad
que es una lista es
. En la vista el usuario puede agregar n paginas a cada documento y cada pagina corresponde a un archivo, es por eso que Pagina solo es un wrapper para un CommonsMultipartFile.
Esta implementacion funciona a la perfeccion. El problema surgio cuando decidi implementar
para manejar la excepcion
que surje cuando el tamaño de los archivos adjuntos supera el establecido. Lo que hice fue copiar el comportamiento del controlador
Pero no funciona, en cuanto termina este metodo manda la excepcion
Significa que no esta respetando la propiedad
, incluso trate de especificarla
Pero tampoco funciono...
Entonces ¿que es lo que estoy haciendo mal? ¿que me falta agregar?
Gracias de antemano.
- Inicie sesión o regístrese para enviar comentarios