2011-06-23 12 views
5

Soy realmente nuevo en Grails y trato de entender cómo funciona. Hice algunos tutoriales y escribí una aplicación de muestra con una conexión de base de datos mysql. Tengo tres tablas y por lo tanto tres clases de dominio y tres controladores usando def scaffold = true. Entonces las vistas se generan automáticamente. Ahora puedo agregar y eliminar y ... los datos en mis tablas. Eso está funcionando.Desarrollo de aplicaciones web con grial: no tengo idea de cómo funciona realmente

Pero ahora no sé cómo continuar. Quiero decir, crear esas tablas y llenarlas es bueno y es bueno que esto sea posible tan rápido, pero ... ¡Ahora realmente quiero desarrollar una aplicación! Normalmente trabajo con Spring Framework, Spring Security, Spring MVC, etc. para generar aplicaciones web. Ahí, todo es lógico. Tengo las solicitudes entrando, la asignación a los controladores, las clases que trabajan en las solicitudes, las respuestas devueltas, jsps prestados ... ¡lógico!

¡En Grails, ni siquiera sé por dónde empezar para una aplicación real! Todos los tutoriales que encuentro muestran lo mismo: configurar esas tablas y poder llenarlas, agradable, agradable, pero después de eso?

Donde guardo el "main.gsp". ¿Necesito un controlador para eso? ¿Cómo la aplicación al inicio redirige a "main.gsp".

Donde puedo definir la "lógica real" - Quiero desarrollar algo así como una "aplicación con múltiples respuestas - intentar seleccionar las respuestas correctas" - aplicación. Bueno, debo admitir que realmente no sé por dónde empezar. Y no veo el uso de los Controladores ni la posibilidad de agregar Datos a mis tablas en mi aplicación. Eso es para administradores pero no para usuarios.

¿Alguien podría darme una pista sobre cómo seguir? O tal vez alguien conoce un buen tutorial que no se trata de "configurar clases de dominio, controladores con andamios, agregar datos a su base de datos" - No veo tanto sentido en eso.

Gracias por su ayuda! :-)

[EDITAR] ¡Gracias por las respuestas! Servicios, eso era exactamente lo que estaba buscando. Creo que simplemente debo familiarizarme más con esto. Los tutoriales me estaban confundiendo, pero ahora lo entiendo mejor.

+0

Hay muchos recursos para usar Grails. ¿Hay algún recurso que explique cómo funciona desde el interior? Es decir, ¿qué ocurre exactamente cuando estoy escribiendo una URL y abriendo una aplicación web? ¿Qué sucede exactamente cuando hago clic en algún enlace? En otras palabras, ¿cómo se distribuye exactamente el control a un determinado controlador con una determinada acción? – osa

Respuesta

6

Si está familiarizado con Spring and Spring MVC, los conceptos en grial no deberían sorprenderle. Grails realmente usa Spring MVC debajo de las cubiertas.

Grails puede autogenerar clases de dominio, controladores y vistas como lo ha intentado en los tutoriales. Esto es para darle un punto de partida para su aplicación. Esto es a menudo suficiente para esos tutoriales de libros de texto. Sin embargo, para aplicaciones reales, es posible que no siempre tenga 1 clase de dominio para 1 controlador en 1 conjunto de vistas. Es posible que no siempre estés haciendo operaciones CRUD en ese dominio. Para esto, necesitas profundizar un poco más en Grails. ¡Puedes hacer todo lo que has hecho previamente en Spring MVC en Grails!

Aquí hay algunos enlaces para ayudarle a ponerse en marcha.

Si está intentando comprender mejor el 'flujo'. Cómo se mapean las solicitudes a los controladores/vistas, consulte el UrlMappings.groovy en su directorio de configuración. Los documentos sobre eso se encuentran aquí: URLMappings

Si está intentando comprender mejor los controladores, revise esto: Controllers. Tenga en cuenta que su controlador no necesita trabajar en modelos de dominio. Esa es simplemente la convención predeterminada. Funcionan de manera similar a un controlador Spring MVC.

Los modelos son simples en Grails. Normalmente, los controladores solo devuelven un mapa de los elementos que desea devolver. En Spring MVC, a menudo creas un objeto Model, la mayoría de las veces en Grails devolverás algo como [name: bean1, name2: bean2]. Esto le permite obtener fácilmente esos dos granos en la competencia.

2

Aquí es información en los controladores: Controllers

También se puede usar el mismo manual para encontrar información sobre otras cosas. Por ejemplo, acerca de dónde poner la lógica comercial, debe leer en el capítulo The Service Layer.

3

Comience con 'Grails In Action'. El primer capítulo le daría detalles sobre la creación de la aplicación de ejemplo CRUD, pero al leer más comprenderá que los griales fluyen mejor. Los servicios se deben usar para la lógica, los controladores se usan para la delegación. No necesita un mapeo xml explícito como se hace en Struts, Spring porque todo aquí funciona en Convention.

+0

Espero que :) porque tengo una copia de Grails In Action^_0 y comienzo mi viaje pronto :) –

1

Lea Beginning Groovy, Grails and Griffon por Vishal Layka, Christopher M. Judd, Joseph Faisal Nusairat y Jim Shingler. Están construyendo una aplicación web real en todo el libro con modelos, acceso a la base de datos, autenticación, CSS, plantillas y diseños, y muchas otras cosas.

Cuestiones relacionadas