разное отображение для одного и того же URL

#url #grails #mapping

#url #grails #отображение

Вопрос:

Я хотел бы использовать другое отображение для того же URLhttp://localhost:8080/myapp / когда пользователь входит в систему (session.user)

На самом деле, по умолчанию это m giving the path when the url is "/" to AppController and 'index' action... but if I try to redirect inside the index action when the user is logged to my UserController (also index action), the path changes to http://localhost:8080/myapp/user/index . That не то, что я ищу.

Существует множество веб-сайтов (twitter, facebook ..), которые применяют этот метод, но не смогли понять, как это можно сделать в Grails, не используя одно и то же действие, например (AppControlle> index) и отображая разные представления, когда пользователь активен.

  static mappings = {
    "/"(controller:"app",action:"index")

    "/$controller/$action?/$id?"{
      constraints {
        // apply constraints here
      }
    }

    "500"(view:'/error')
    "404"(view:'/notFound')
  }
  

Ответ №1:

По поводу вашего упоминания о Twitter, facebook… Я думаю, возможно, что они используют разное отображение на основе запроса POST или GET. В Grails мы можем выполнять такое отображение следующим образом:

 name home: "/" {
    controller = [GET: "app", POST: "user"]
    action = [GET: "index", POST: "userIndex"]
}