Каков параметр конфигурации для изменения главной страницы по умолчанию в приложении Grails, который больше не будет appName/index.gsp? Конечно, вы можете настроить эту страницу как перенаправление, но должен быть лучший способ.
Как изменить домашнюю страницу по умолчанию в приложении Grails?
Ответ 1
Добавьте это в UrlMappings.groovy
"/" { controller = "yourController" action = "yourAction" }
Конфигурируя URLMappings таким образом, домашней страницей приложения будет yourWebApp/yourController/yourAction.
(вырезано/вставлено из Блог IntelliGrape)
Ответ 2
Изменить UrlMappings.groovy
Добавить, например, добавить это правило, чтобы обработать корень с помощью HomeController.
"/" (контроллер: 'дом')
Ответ 3
Вы можете попробовать следующее: в классе UrlMappings.groovy, который находится внутри папки конфигурации:
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
//"/"(view:"/index")
"/" ( controller:'Item', action:'index' ) // Here i have changed the desired action to show the desired page while running the application
"500"(view:'/error')
}
}
надеюсь, что это поможет,
Рубель
Ответ 4
Используйте параметр контроллера, вида и действия с помощью следующего синтаксиса:
class UrlMappings {
static mappings = {
"/" (controller:'dashboard', view: 'index', action: 'index')
"500"(view:'/error')
}
}
Ответ 5
Простой и аккуратный
-
Перейдите в Файл: grails-app/conf/UrlMappings.groovy.
-
Замените строку: "/" (view: "/index" ) с "/" (контроллер: 'home', действие: "/index" ).
Главная - ваш контроллер для запуска (как и в spring безопасности, вы можете использовать "login" ), а действие - это страница просмотра grails, связанная с вашим контроллером (In spring Security '/auth').
Добавить перенаправление страниц в соответствии с потребностями вашего приложения.
Ответ 6
Все ответы верны! Но представьте себе сценарий:
Я сопоставил путь "/" с контроллером: "Главная" и действие: "индекс", поэтому, когда я обращаюсь к "/app-name/", контроллер Home запускается, но если я набираю путь "/app- имя/домашний/индекс", он все равно будет выполнен! поэтому есть два пути для одного ресурса. он будет работать, пока кто-то не узнает путь "home/index" .
другое дело, если у меня есть форма без указанного атрибута действия, поэтому по умолчанию будет POST тому же контроллеру и действию! поэтому, если форма отображается на путь "/" и не указан атрибут действия, она будет отправлена на тот же контроллер, но на этот раз путь будет "home/index" в вашей адресной строке, а не "/", потому что он передается контроллеру/действию не в URI.
Чтобы решить эту проблему, вам нужно удалить или прокомментировать эти строки.
// "/$controller/$action?/$id?(.$format)?"{
// constraints {
// // apply constraints here
// }
// }
Итак, теперь, когда вы получаете доступ к "/", это сработает. но "home/index" не будет. Но есть один недостаток, теперь вам нужно сопоставить все пути к контроллерам вручную, явно вписав в файл URLMapping. Думаю, это поможет!
Ответ 7
Если кто-то ищет ответ для gails 3.x, он переместил UrlMappings.groovy в grails-app/controllers/appname
Как показывают ответы ниже, просто введите строку, начинающуюся с "/".
В моем случае это:
"/"(controller:"dashboard", view:"/index")