Sono un novizio in Grails e sto lottando con molti problemi semplici.Come reindirizzare all'ultima pagina visitata nell'app Grails?
Ad esempio, non sono riuscito a trovare un modo corretto per tornare all'ultima pagina visitata quando eseguo il login/logout da una vista modello che viene visualizzata nel layout superiore della pagina.
Il mio ultimo tentativo di risolvere questo problema è stato di salvare $ {params.controller} e $ {params.action} nei parametri inviati all'azione di disconnessione e successivamente reindirizzare. Beh ... anche questo è fallito. Ecco il frammento di GSP:
<g:link controller="user" action="logout" params="[currentController: ${params.controller}, currentAction: ${params.action}]">Logout</g:link>
Questa ultima riga di codice genera la seguente eccezione:
ERROR errors.GrailsExceptionResolver - Error evaluating expression [[currentController: ${params.controller}, currentAction: ${params.action}]]
Quindi le mie domande sono:
1 - Come posso ricaricare l'ultima pagina visitata dopo un'azione di login/logout?
2 - Perché ho un'eccezione dal mio codice sopra?
Thank You
EDIT: Per quanto riguarda la domanda # 2, sembra che il seguente codice funziona:
<g:link controller="user" action="logout" params="[currentController: params.controller, currentAction: params.action]">Logout</g:link>
Ma io non capisco il motivo ...
EDIT2: Ho anche trovato una soluzione per il reindirizzamento all'ultima pagina visitata:
redirect(url: request.header('referer'))
Ma sfortunatamente quando si esegue questa operazione dopo l'accesso, i contenuti visualizzati nella mia pagina sono duplicati. Qualche idea o altra soluzione sicura?
Ciao Daniele, La ringrazio molto per il vostro risponderti. Mi hai aiutato molto !! – fabien7474
@ daniel-rinser La tua risposta sembra funzionare solo attraverso un singolo aggiornamento. Come credi si possa gestire la seguente: Page0-> Pagina1 Inserire i dati in forma w/errori reindirizzato al Pagina1 con flash.errors Inserire i dati in forma correttamente dovrebbe ottenere reindirizzato al Page0 Invece ottenere inviato a '/ 'come request.forwardURI()/targetURI è "" – rik
Perché l'URI relativo dell'app? Qual è il problema con l'Url completo? –