23/10/2007, 04:42
|
| | Fecha de Ingreso: febrero-2007
Mensajes: 14
Antigüedad: 17 años, 8 meses Puntos: 0 | |
Re: AJAX y MVC ... Lo solucione, os comento mi solución que es valida para Java (servlets y JSP) en otros lenguages no se como se haría:
En mi caso el controlador será un servlet que atenderá las peticiones AJAX y llamará a las correspondientes clases del modelo que haran consultas en la BBDD.
Una vez realizadas esas consultas y devuelto el resultado en forma de objetos el controlador deja estos en el ambito (scope) de la petición y notifica a la vista para que los recoga y los muestre. En Java esto se haría de la siguiente forma:
- Primero dejariamos los resultados en el ambito de la petición con:
request.setAttribute("nombre del atributo", Objeto con los resultados);
- Luego notificariamos a la vista que en mi caso seria un servlet aunque tb puede ser un JSP:
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/nombredelservlet");
dispatcher.forward(request, response); //Con esta función se redirige la petición al servlet vista que cogerá los resultados con request.getAttribute("nombre de atributo"); y los mostrará adecuadamene.
En mi caso el servlet que implemente la vista enviará objetos JSON que serán recogidos por las callback de ajax o tal vez código XHTML (aunque no se si esto sería válido).
De esta forma tan solo habría que cambiar el servlet vista para cambiar la presentacion, incluso lo podriamos sustituir por JSP si la aplicación no va a utilizar AJAX.
Creo que este enfoque si que es válido segun MVC porque es el que se utiliza en Java (esto se automatiza de alguna forma dentro de la framework "Struts").
1 saludo. |