2010-11-28 13 views
0

J'ai une application grails qui a plusieurs contrôleurs et actions. Supposons un utilisateur accède à:Grails URL de mappage pour toujours afficher www.mysite.com dans la barre d'adresse du navigateur

http: // www.mysite.com/user/register

qui signifie registre d'action dans l'utilisateur du contrôleur est exécutée. ce que je veux, c'est que lorsque la réponse est reçue par le navigateur (ou lorsque la demande est faite par le navigateur), la barre d'URL du navigateur doit afficher (le chemin racine): http: // www.mysite.com

sans exécuter l'action et le contrôleur par défaut (mappés au chemin racine '/' dans le fichier URLMappings.groovy).

Est-ce possible et comment faire?

Répondre

0

Vous pouvez rediriger vers le contrôleur racine + l'action:

redirect controller: "home", action: "index" 

(? Bien que ce va appel l'action, est-ce que vous essayez de ne pas perturber) ou appelez

render template:'some_template', model: '[some: model]' 

pour la page racine. Cela fonctionnera si vous extrayez les éléments de la page racine dans un modèle et que vous avez un modèle simple. Nous, par exemple, n'avons aucun modèle pour une page racine.

Si vous souhaitez toujours rester sur la page racine, vous devrez utiliser redirect: comment le navigateur peut-il passer de la page d'action à la page racine sans y être invité? Je crois que vous pouvez utiliser la propriété params de redirect method, or flash variable, pour dire à l'action de base quoi faire et quoi ne pas faire.