#grails #redirect
#grails #перенаправление
Вопрос:
Вот простой вопрос. Есть ли какая-либо возможность, если в любом случае в приложении произошла ошибка и сервер показывает нам страницу с ошибкой, вместо этого перенаправить все на страницу по умолчанию?
Охватывает все ошибки .. возможно ли это?
Ответ №1:
Grails уже делает это за вас. Если исключение всплывает в контейнере, оно обрабатывается как HTTP 500 (внутренняя ошибка сервера). С помощью conf/URLMappings.groovy
вы можете контролировать, что происходит при возникновении статусов ошибок.
Вот сопоставление по умолчанию для 500 ответов (от conf/URLMappings.groovy
):
"500"(view:'/error')
Это указывает приложению отобразить error
представление, которое находится в views/error.gsp
. Если вы хотите изменить это, вы можете. Вы могли бы перенаправить на контроллер / действие, если хотите:
// will go to 'custom' action of ErrorController, which you would create yourself
"500"(controller: "error", action: "custom")
Вы можете настроить это для любого статуса HTTP-ответа. Смотрите документацию по сопоставлениям URL. Если вам нужен более точный контроль над различными исключениями, которые могут возникнуть, посмотрите раздел «Декларативная обработка ошибок» в документах, на которые даны ссылки выше.