Contrôleurs Grails

Dans le modèle de conception MVC prend le contrôleur demande (demandes) et génère des réponses opposées (réponses) et transmet les données (modèle) à la vue. Ce qui suit devrait vous savez sur Grails contrôleur:

  1. La convention de nommage
  2. Création contrôleurs
  3. Création des actions (actions)
  4. Les paramètres de requête de la demande et de la session
  5. Profitez de flash portées
  6. Traitement des données (modèles)
  7. Générer la réponse (la réponse)
  8. Actions d'expédition et de chaînage des (actions)

Création contrôleurs / convention de nommage

Contrôleurs Grails sont dans les grails-app\controller . Ils se retrouvent dans le nom du fichier toujours au niveau du contrôleur que UtilisateursController. Groovy. La première partie du nom fait partie de l'URI (par exemple, l'utilisateur) à travers lequel les actions doivent être pris en compte.
Les contrôleurs peuvent également utiliser la commande grails create-controller peut être créé.

Création des actions (actions)

Actions (actions) sont définis comme des propriétés d'un contrôleur et associé à un URI. Ainsi, l'action de la liste du contrôleur pour l'utilisateur de l'URI géré user/list mentionné

  Une
 2
 3
 4
 5
 6
  class User {controller
     def list = {
         ! params. max ) params. max = 10 if (params. max) params. max = 10
         User. list ( params ) ] [Liste des utilisateurs: Liste des utilisateurs (params).]
     }
 } 

est un exemple complet peut être trouvé à [1]

Si seul le contrôleur dans l'URI adressée, puis l '«action par défaut" est exécuté. Cet indice peut être définie sur la propriété.

  redirect ( action : list,params : params ) } def index = {redirect (action: la liste, params: params)} 

Les paramètres de requête de la demande et de la session

Chaque contrôleur dispose d'un certain nombre de propriétés prédéfinies qui peuvent être fournis de manière dynamique au moment de l'exécution avec des valeurs. Il s'agit notamment de:

  • nuri actio
  • controllerUri
  • actionName
  • ControllerName
  • flash
  • grailsApplication
  • grailsAttributes
  • enregistrer
  • params
  • session
  • demander
  • réponse
  • ServletContext

Si l'on veut accéder aux paramètres de la requête ou de la session, on accède aux propriétés params ou session à:

  "findBy" ] findBy def = params ["findBy"]
 "logged_user" ] loggedUser def = session ["logged_user"] 

Profitez de flash portées

Avec Flash, il est possible un attribut scope pour la prochaine requête (demande) de fournir. Cette fonctionnalité est utilisée pour informer l'utilisateur sur l'état des actions, telles que la suppression a réussi.

  "User ${params.id} deleted." flash. message = "$ {user} params.id supprimé." 

Traitement des données (modèles)

Les paramètres dans les applications Web sont passés comme des chaînes, il est donc nécessaire de les faire correspondre aux objets de données (modèles). En Grails, cela se fait très simplement en assignant les paramètres aux caractéristiques properties de chaque modèle.

  params l'utilisateur. = Propriétés params 

Les modèles sont mis en œuvre dans Grails que des cartes. Transférer le moyen le plus simple un objet de modèle à la vue, l'instance retournée.

  User ( ) utilisateur def = new User ()
 params l'utilisateur. = Propriétés params
 'user' : user ] retour ['user': l'utilisateur] 

Générer la réponse (la réponse)

Pour rendre une vue spécifique ou des morceaux de code à partir du contrôleur de Grails est la fonction render mis à disposition.

  'edit' ,model : [ user : user ] ) render (vue: "modifier", modèle: [utilisateur: l'utilisateur]) 

Pour rendre une vue spécifique ou des morceaux de code à partir du contrôleur de Grails est la fonction render mis à disposition.

Actions d'expédition et de chaînage des (actions)

Renvoi à une autre action a lieu via le redirect . Le Web Forwarding paramètres optionnels peuvent ainsi être ajoutés. En d'autres actions du contrôleur est référencé par une chaîne.

  / / Renvoi simple
 list ) redirect (action: la liste)
 Ligne / / Next, avec des paramètres
 show,id : user. id ) redirect (action: show, id:. nom d'utilisateur)
 / / Redirige vers un autre contrôleur
 "/address/list" ) redirect (action: «/ adresse / list") 

Des actions peuvent également être enchaînés, bien sûr, est donnée aux objets du modèle qui sont ajoutés lors de la concaténation, et d'autres actions de la chaîne. Ceci est utile, par exemple dans la mise en œuvre des sorciers.

  Une
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
  classe {WizzardsController
     def première étape = {
         secondStep,model : [ "step1" : new Object ( ) ] ) chaîne (action: deuxième étape, le modèle: ["step1": new Object ()])
     }
     def deuxième étape = {
         thirdStep,model : [ "step2" : new Object ( ) ] ) chaîne (action: troisième étape, le modèle: [«Step 2»: new Object ()])
     ;}
     def troisième = {étape
         "step3" : new Object ( ) ] ) retour ["step3": new Object ()])
     ;}
 } 

[1] par exemple d'un contrôleur

One Response to "contrôleurs Grails"

  1. Contrôleurs Grails »Tout-IT Says:

    [...] La version actuelle de l'article que j'ai pour une meilleure maintenabilité dans le cadre d'un petit tutoriel sur Grails [...]

Ajouter un commentaire

Oui, je voudrais être notifié de commentaires!