Сведения о вопросе

Mathprofi

02:16, 22nd August, 2020

Теги

grails    

Как изменить домашнюю страницу по умолчанию в приложении Grails?

Просмотров: 452   Ответов: 7

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



  Сведения об ответе

ITSME

21:43, 29th August, 2020

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

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

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

(cut/pasted из блога IntelliGrape )


  Сведения об ответе

dump

17:08, 27th August, 2020

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

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

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


  Сведения об ответе

padenie

22:17, 26th August, 2020

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

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


  Сведения об ответе

LAST

00:09, 19th August, 2020

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

class UrlMappings {
   static mappings = {
       "/" (controller:'dashboard', view: 'index', action: 'index')
       "500"(view:'/error')
   }
}


  Сведения об ответе

pumpa

18:42, 29th August, 2020

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

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

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

Главная-это ваш контроллер для запуска(например, в spring security вы можете использовать 'login'), а действие-это страница просмотра grails, связанная с вашим контроллером (в Spring Security '/auth').

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


  Сведения об ответе

davran

12:58, 23rd August, 2020

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

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

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

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

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

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


  Сведения об ответе

screen

10:15, 29th August, 2020

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

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

В моем случае его:

"/"(controller:"dashboard", view:"/index")


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться