Grails controladores
Dentro del patrón de diseño MVC lleva las peticiones del controlador (peticiones) y genera las respuestas opuestas (la respuesta) y envía los datos (modelo) a la vista. A continuación se debe saber acerca de Grails controlador:
- Convención de nomenclatura
- Creación de controladores
- Creación de acciones (acciones)
- Los parámetros de consulta de la demanda y la reunión
- Disfruta de flash ámbitos
- Procesamiento de los datos (los modelos)
- Generar la respuesta (la respuesta)
- Reenvío y el encadenamiento de acciones (acciones)
Creación de controladores / convención de nomenclatura
Controladores de Grails en los grails-app\controller . Terminan en el nombre del archivo siempre en el controlador como UsersController. Groovy. La primera parte del nombre es parte de la URI (por ejemplo, el usuario) a través del cual las acciones que deben abordarse.
Los controladores también se puede utilizar el comando grails create-controller puede ser creado.
Creación de acciones (acciones)
Acciones (acciones) se definen como propiedades de un controlador y se asigna a un URI. Así, la acción de la lista del controlador para el usuario en el URI gestionado por user/list mencionado
A 2 3 4 5 6 | Usuario controlador de la clase { def list = { ! params. max ) params. max = 10 if (params. max) params. max = 10 User. list ( params ) ] [Lista: Lista de usuarios (params).] } } |
es un ejemplo completo se puede encontrar en [1]
Si sólo el controlador en el URI dirigida, entonces la "acción por defecto" se ejecuta. Este índice se puede establecer en la propiedad.
redirect ( action : list,params : params ) } def index = {redirect (acción: lista, params: params)}
Los parámetros de consulta de la demanda y la reunión
Cada controlador tiene un número de propiedades predefinidas que pueden ser suministrados de forma dinámica en tiempo de ejecución con valores. Estos incluyen:
- Nuri actio
- controllerUri
- actionName
- controllerName
- flash
- grailsApplication
- grailsAttributes
- log
- params
- sesión
- solicitar
- respuesta
- ServletContext
Si se quiere acceder a los parámetros de la solicitud o de la sesión, se accede a las propiedades params o session a:
"findBy" ] FindBy def = params ["FindBy"] "logged_user" ] loggedUser def = período de sesiones ["logged_user"]
Disfruta de flash ámbitos
Con Flash, es posible un atributo de espacio para la siguiente petición (solicitud) para ofrecer. Esta funcionalidad se utiliza para informar al usuario sobre el estado de las acciones, de tal manera que la eliminación fue un éxito.
"User ${params.id} deleted." flash. message = "$ {usuario} params.id eliminado."
Procesamiento de los datos (los modelos)
Los parámetros de las aplicaciones Web se pasan como cadenas, por lo que es necesario para asignar a los objetos de datos (modelos). En Grails, esto se hace muy simplemente mediante la asignación de los parámetros característicos de las properties de cada modelo.
params de los usuarios. properties = params
Los modelos se implementan en Grails como mapas. Avance de la forma más sencilla de un modelo de objetos a la vista, la instancia devuelta.
User ( ) definición de usuario = new Usuario () params de los usuarios. properties = params 'user' : user ] retorno ['user': user]
Generar la respuesta (la respuesta)
Para representar un punto de vista específico o piezas de código del controlador de Grails es la función de render disponibles.
'edit' ,model : [ user : user ] ) render (vista: 'editar', modelo: [usuario: user])
Para representar un punto de vista específico o piezas de código del controlador de Grails es la función de render disponibles.
Reenvío y el encadenamiento de acciones (acciones)
Envío a la otra acción se lleva a cabo a través de la redirect . La web de los parámetros opcionales de reenvío lo que se puede añadir. En otra acción del controlador se hace referencia a una cadena.
/ / Reenvío simple list ) redirect (acción: la lista) La línea / / A continuación, con los parámetros show,id : user. id ) redirect (acción: espectáculo, id. id de usuario) / / Redirección a otro controlador "/address/list" ) redirect (la acción: '/ dirección / list ")
Las acciones también se pueden encadenar, por supuesto, se da a los objetos del modelo que se añaden durante la concatenación, y otras acciones de la cadena. Esto es útil, por ejemplo en la aplicación de los asistentes.
A 2 3 4 5 6 7 8 9 10 11 | la clase {WizzardsController def primer paso = { secondStep,model : [ "step1" : new Object ( ) ] ) de la cadena (la acción: segundo paso, el modelo: ["Paso 1": new Object ()]) } def segundo paso = { thirdStep,model : [ "step2" : new Object ( ) ] ) de la cadena (la acción: tercera etapa del modelo,: ["Paso 2": new Object ()]) ;} def = {tercera etapa "step3" : new Object ( ) ] ) retorno ["Paso 3": new Object ()]) ;} } |




31 de agosto 2008 a las 13:37
[...] La versión actual del artículo que tiene una mejor capacidad de mantenimiento como parte de un pequeño tutorial sobre Grails [...]