Как изменить домашнюю страницу по умолчанию в приложении Grails? - PullRequest
32 голосов
/ 26 августа 2008

Каков параметр конфигурации для изменения домашней страницы по умолчанию в приложении Grails, чтобы она больше не была appName / index.gsp? Конечно, вы можете настроить перенаправление на эту страницу, но должен быть лучший способ.

Ответы [ 7 ]

56 голосов
/ 15 сентября 2008

Добавьте это в UrlMappings.groovy

 "/" {
    controller = "yourController"
    action = "yourAction"
 }

При настройке URLMappings таким способом домашней страницей приложения будет yourWebApp / yourController / yourAction.

(вырезано / вставлено из IntelliGrape Blog )

11 голосов
/ 27 июня 2013

Вы можете попробовать следующим образом
в классе 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')
    }
}

надеюсь, это поможет,
Рубель

11 голосов
/ 15 сентября 2008

Редактировать UrlMappings.groovy

Добавьте, например, добавьте это правило для обработки корня с помощью HomeController.

"/" (контроллер: 'дом')

3 голосов
/ 11 марта 2015

Используйте параметры контроллера, вида и действия по следующему синтаксису:

class UrlMappings {
   static mappings = {
       "/" (controller:'dashboard', view: 'index', action: 'index')
       "500"(view:'/error')
   }
}
2 голосов
/ 20 декабря 2011

просто и аккуратно

  1. Перейти к файлу: grails-app / conf / UrlMappings.groovy.

  2. Заменить строку: "/" (view: "/ index") на "/" (контроллер: 'home', действие: "/ index").

Дом - ваш контроллер для запуска (как и в Spring Security, вы можете использовать «логин»), а action - страница просмотра Grails, связанная с вашим контроллером (В Spring Security '/auth').

Добавить перенаправление страниц в соответствии с потребностями вашего приложения.

0 голосов
/ 03 мая 2019

Если кто-то ищет ответ для gails 3.x, он перемещает UrlMappings.groovy в grails-app / controllers / appname

Как показывают ответы ниже, просто отредактируйте строку, начинающуюся с "/".

В моем случае это:

"/"(controller:"dashboard", view:"/index")
0 голосов
/ 24 октября 2014

Все ответы верны! Но давайте представим сценарий:

Я сопоставил путь "/" с контроллером: "Home" и действием: "index", поэтому, когда я получаю доступ "/ app-name /", выполняется контроллер Home, но если я набираю путь "/ app- name / home / index ", он все равно будет выполнен! так что есть 2 пути для одного ресурса. это будет работать, пока кто-нибудь не узнает путь "home / index".

Другое дело, если у меня есть форма без какого-либо указанного атрибута действия, поэтому по умолчанию это будет POST для того же контроллера и действия! так что если форма сопоставлена ​​с путем "/" и атрибут действия не указан, то она будет передана на тот же контроллер, но на этот раз путь будет "home / index" в адресной строке, а не "/", потому что оно передается контроллеру / действию, а не URI.

Чтобы решить эту проблему, вам нужно удалить или закомментировать эти строки.

//        "/$controller/$action?/$id?(.$format)?"{
//            constraints {
//                // apply constraints here
//            }
//        }

Так что теперь, когда вы получите доступ к "/", будет работать. но "дом / индекс" не будет. Но есть один недостаток: теперь вы должны сопоставить все пути к контроллерам вручную, явно записав их в файл URLMapping. Я думаю, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...