Я новичок в Grails, и я борюсь со многими простыми проблемами.
Например, мне не удалось найти правильный способ вернуться на последнюю посещенную страницу при входе в систему/выходе из представления шаблона, которое отображается в верхней части страницы.
Моя последняя попытка решить эту проблему состояла в том, чтобы сохранить параметры ${params.controller} и ${params.action} в параметрах, отправленных в действие выхода из системы, и затем перенаправить их. Ну... даже это не удалось. Вот фрагмент gsp:
<g:link controller="user" action="logout" params="[currentController: ${params.controller}, currentAction: ${params.action}]">Logout</g:link>
Эта последняя строка кода вызывает следующее исключение:
ERROR errors.GrailsExceptionResolver - Error evaluating expression [[currentController: ${params.controller}, currentAction: ${params.action}]]
Итак, мои вопросы:
1 - Как перезагрузить последнюю посещенную страницу после действия входа/выхода из системы?
2 - Почему у меня есть исключение из моего кода выше?
Спасибо
ИЗМЕНИТЬ: Что касается вопроса № 2, кажется, что работает следующий код:
<g:link controller="user" action="logout" params="[currentController: params.controller, currentAction: params.action]">Logout</g:link>
Но я не совсем понимаю причину...
EDIT2: Я также нашел решение для перенаправления на последнюю посещенную страницу:
redirect(url: request.header('referer'))
Но, к сожалению, когда вы делаете это после входа в систему, содержимое, отображаемое на моей странице, дублируется. Любая идея или любое другое безопасное решение?