После обновления приложения grails с версии 2.2.2 до 2.3.2 и в конечном итоге 2.3.3 я заметил, что некоторые ссылки, которые ранее работали, теперь возвращает статус 404.Grails 2.3.2/.3 Обновление - невозможно сопоставить URL-адреса, заканчивающиеся на .html
Для иллюстрации, вот образец ссылки и соответствующая запись отображения URL, который был первоначально работал в v2.2.2:
http://localhost:7080/pages/mytestpage
http://localhost:7080/pages/mytestpage.html
UrlMappings.groovy
static mappings = {
"pages/mytestpage"(controller: 'testController', action: 'testAction')
}
После обновления , среди приведенных ссылок ссылка ниже не работает больше (т.е. ссылка с .html):
http://localhost:7080/pages/mytestpage.html
Один из способов решить эту проблему, изменив запись URLMappings как показано ниже:
UrlMappings.groovy (Modified)
static mappings = {
"pages/mytestpage(.$format)?"(controller: 'testController', action: 'testAction')
}
Мой вопрос, есть ли способ для решения этой проблемы без необходимости обновления записи URLMappings? Любой, кто может объяснить, как такое отображение фактически работает в версии 2.2.2, также будет большой помощью. Благодаря!
ОБНОВЛЕНИЕ
Используя (.html)? вместо (. $ Format)? в UrlMappings.groovy также работает и фактически использовался.
Кроме того, в этом примере сервер приложений попадает прямо, а веб-сервер не используется.
Ваш ответ помог мне лучше понять эту концепцию. Благодарю. –