2011-04-04 27 views
11

Estoy tratando de integrar un asistente en una aplicación existente Spring 3 MVC + JPA + Jquery + JSP. Preferiría que el asistente se basara en las promedios modales de jquery; sin embargo, estoy dispuesto a considerar otros marcos si es necesario.Spring 3 MVC y asistentes modales

Miré Spring Webflow, pero no puedo encontrar la manera de hacerlo funcionar con superposiciones modales. Encontré un tutorial http://realworldagile.wordpress.com/2009/10/06/modal-wizard-forms-using-spring-webflow-2-0-8-and-richfaces/ pero está relacionado con RichFaces.

no soy capaz de averiguar

  1. cómo iniciar un asistente en una superposición
  2. cómo hacer la transición de una pantalla de superposición a otro - como parte de las transiciones de estado.
  3. cómo hacer validaciones del lado del servidor dentro de la superposición

Respuesta

0

creo que, si es posible - no utilice la validación SS pocos pasos en el asistente. Posible, si puede implementar el patrón del asistente solo en el lado del cliente, porque no necesita datos parcialmente correctos en el servidor (algunas páginas de conversación están hechas, pero otras no). Por supuesto, puede adjuntar jBPM, actividad, Spring WEB Flow para resolver este problema, pero creo que para la mayoría de los asistentes solo necesita algo como this. El usuario completa los datos en todos los pasos en una página, los valida y los recopila en el lado JS, luego de él hace clic en "Finalizar" - envía los datos y valida nuevamente en SS.

0

Si usa webflow, parece que la respuesta es utilizar el flujo de web en el modo 'incrustado' (consulte embedded mode). En particular, su controlador de ajax en jQuery reemplazará el contenido del diálogo modal con fragmentos enviados desde el servidor (consulte ajax).

Personalmente, he usado este jQuery UI wizard plugin; en este enfoque, usted genera el modelo y es enviado por Spring MVC desde el controlador utilizando json, que utiliza programáticamente en su controlador jQuery ajax, que a su vez está vinculado a los pasos del asistente. Creo que esta sería tu alternativa más manual.