Uso de beans para mantener información en un MVC

Hola experto,
Tengo una aplicación web con spring donde he creado 2 vistas con dos controladores. Una vista presenta la información inicial llama su controlador y este responde a una vista successfull. Adicionalmente tengo creadas varias clases que forman la lógica del negocio y están creadas en el applicationContext.xml para que sean generadas como beans.
El problema que tengo es que en mi lógica de negocio tengo un objeto que mantiene una lista de datos introducidos en la primer vista y un método de esa clase los devuelve a la otra vista cuando es llamada. Pero, como ambas vistas llaman su propio controlador, y este crea una instancia de la clase, cada uno tiene una instancia distinta, por lo tanto no puedo ver lo que escribió uno desde el otro. ¿Cómo podría arreglar esto? Muchas gracias!
Respuesta
1
Prueba lo siguiente:
Declara el objeto que contienen la lista que deben ser accesible desde ambos controladores con un "scope" de sesión (ver http://static.springsource.org/spring/docs/2.0.x/reference/beans.html#beans-factory-scopes).
Los controladores no deberían crear instancias de este objeto, en vez de eso, inyecta el bean de ese objeto en los controladores, con la inyección de dependencias. En otras palabras, define una propiedad en cada controlador con sus métodos get/set y en la definición de los controladores, en el xml, inyecta en la propiedad el bean al que le has cambiado el scope a "session".
Ahora el objeto deberá ser el mismo en los 2 controladores, y no 2 objetos diferentes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas