2010-11-28 6 views
0

Ich habe Grails-Anwendung, die mehrere Controller und Aktionen hat. Angenommen, ein Benutzer geht an:Grails URL-Mapping zu zeigen immer www.mysite.com in Browser-Adressleiste

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

die Aktionsregister in Steuereinheits-Benutzereinrichtung ausgeführt wird. Ich möchte, dass die Browser-URL-Leiste (der Stammpfad) angezeigt wird, wenn die Antwort vom Browser empfangen wird (oder wenn die Anforderung vom Browser gestellt wird): http: // www.mysite.com

ohne Ausführung der Standardaktion und des Controllers (zugeordnet dem Stammpfad '/' in der URLMappings.groovy).

Ist das möglich und wie geht das?

Antwort

0

können Sie entweder auf Root-Controller umleiten + Aktion:

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

(? Obwohl dieser wird Aufruf der Aktion ist es, dass Sie aviod sind versuchen) oder rufen

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

für die Stammseite. Es funktioniert, wenn Sie Stammseitenelemente zu einer Vorlage extrahieren und ein einfaches Modell darin enthalten. Wir haben zum Beispiel kein Modell für eine Root-Seite.

Wenn Sie immer auf der Root-Seite bleiben möchten, müssen Sie redirect verwenden: Wie kann der Browser von der Aktionsseite zur Root-Seite wechseln, ohne dass er dazu aufgefordert wird? Ich glaube, dass Sie params Eigenschaft von redirect method, or flash variable verwenden können, um der Stammaktion zu sagen, was zu tun ist und was nicht zu tun ist.

Verwandte Themen