Я новичок в 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'))
Но, к сожалению, при выполнении этого после входа содержимое моей страницы дублируется. Любая идея или любое другое безопасное решение?