2012-06-21 6 views

Odpowiedz

18

Można zrobić przekierowanie do „/” tak:

redirect(uri:'/') 
+0

To będzie działać tylko wtedy, gdy w widoku indeksu znajduje się UrlMapping dla "/". – doelleri

+0

To przekieruje do głównego kontekstu witryny, jednak zdarza się, że jest to zdefiniowane, zależy od aplikacji. Mapowanie "/" jest standardem w mapowaniach URL. – proflux

+0

Działa to nawet wtedy, gdy aplikacja znajduje się w podkatalogu typu 'example.org/yourapp /'. – str

6

Dlaczego potrzebujesz redirect zamiast render? redirect(uri:'/index.gsp') może załatwić sprawę, ale myślę, że byłoby to po prostu render(view:'/index')

+0

Należy uważnie wyświetlać indeks bezpośrednio. Jest to w porządku z prostą treścią statyczną, po dodaniu kontrolera do pobierania danych do wyświetlania na stronie głównej będziesz przełączał każdą z tych instrukcji renderowania na przekierowania. Czy to "przekierowanie (uri: '/ index.gsp") da 404? – proflux

+0

Ponieważ powiedział, że nie jest częścią żadnego kontrolera, myślę, że jest bezpieczny do renderowania - ale gdyby polegał na modelu z działania kontrolera, renderowanie prawie na pewno zakończyłoby się wyrzuceniem wyjątku z powodu dostępu do brakującego modelu. – doelleri

+1

Patrzę trochę na drogę. Większość nietrywialnych aplikacji, które stworzyłem zaczyna się od statycznego indeksu.gsp i kończy się czymś w rodzaju '[kontroler: 'dom', akcja: 'indeks']'. Po powrocie i naprawieniu pakietu 'render (view: '/ index')' rozproszony w twoich aplikacjach i czujesz się zmuszony, aby pomóc innym uniknąć tego błędu. Jeśli to tylko aplikacja do wyrzucania, to nie ma problemu. – proflux

0

Jeśli przekierowanie z IndexController, to należy uczynić (zobacz:”/index ')

Powiązane problemy