Jestem nowicjuszem w Grails i zmagam się z wieloma prostymi problemami.Jak przekierować na ostatnio odwiedzaną stronę w aplikacji Grails?
Na przykład, nie udało mi się znaleźć właściwego sposobu na powrót do ostatnio odwiedzanej strony po zalogowaniu się/wylogowaniu z widoku szablonu, który jest wyświetlany w górnym układzie strony.
Moja ostatnia próba rozwiązania tego problemu polegała na zapisaniu $ {params.controller} i $ {params.action} w parametrach wysłanych do akcji wylogowania i następnie przekierowaniu. Cóż ... nawet to się nie udało. Oto GSP urywek:
<g:link controller="user" action="logout" params="[currentController: ${params.controller}, currentAction: ${params.action}]">Logout</g:link>
Ta ostatnia linia kodu rzuca następujący wyjątek:
ERROR errors.GrailsExceptionResolver - Error evaluating expression [[currentController: ${params.controller}, currentAction: ${params.action}]]
Więc moje pytania to:
1 - Jak mogę przeładować Ostatnio odwiedzone strony po akcja logowania/wylogowania?
2 - Dlaczego mam wyjątek z powyższego kodu?
Dziękuję
EDIT: Odnośnie do pytania nr 2, wydaje się, że następujący kod działa:
<g:link controller="user" action="logout" params="[currentController: params.controller, currentAction: params.action]">Logout</g:link>
Ale ja naprawdę nie rozumiem powód ...
EDIT2: Również znalazłem rozwiązanie do przekierowania na ostatnio odwiedzaną stronę:
redirect(url: request.header('referer'))
Niestety, gdy robię to po zalogowaniu, zawartość wyświetlana na mojej stronie jest powielana. Jakiś pomysł czy jakiekolwiek inne bezpieczne rozwiązanie?
Cześć Daniel, Dziękuję bardzo za aswer. Bardzo mi pomogłeś !! – fabien7474
@ daniel-rinser Twoja odpowiedź wydaje się działać tylko przez pojedyncze odświeżenie. Jak proponujesz obsługi następujących: Page0-> Strona1 Wprowadź dane w postaci w/błędy przekierowany z powrotem do Strona1 z flash.errors Wprowadź dane w formie poprawnie powinien dostać przekierowany z powrotem do Page0 Zamiast wysłane do „/ "jako request.forwardURI()/targetURI jest" " – rik
Dlaczego względny identyfikator URI aplikacji? Jaki jest problem z pełnym adresem URL? –