2013-07-11 2 views
1

Вот мой URLmappings.groovyGrails URL поле Идентификатор не получает отображается в Params

class UrlMappings { 

static mappings = { 
    "/$controller/$action?/$id?(.${format})?" { 
     constraints { 
      // apply constraints here 
     } 
    } 
    "/ewhet/$id"(controller : "ewhet", action : "show") 
    "/"(view: "/index") 
    "500"(view: '/error') 
    } 
    } 

Вот мои ewhetController «ы show действия:

class EwhetController { 
    def index(){ 

    } 
    def show(){ 
      def ctx = startAsync() 
      ctx.start { 
       render params 
       //render "this invoked!!" 
       ctx.complete() 
      } 
     } 
} 

Теперь, когда я вхожу в URL, как: http://localhost:8080/g24/ewhet/abc abc не отображается на params.id, и когда я делаю params, я получаю пустую карту [:]. В случае, если URL вводятся http://localhost:8080/g24/ewhet/show?id=abcid поля получает отображаются в params.id и я получаю:

['id':'abc'] 

Так что я просто хочу, чтобы получить последнюю часть URL, отображенный в параметр id в params карте без использования какого-либо карту в URL-адресе (например, id=abc) в соответствии с разделом 7.4.3 в Grails documentation Итак, как это возможно и почему мой подход не работает?

Обратите внимание, что у меня нет доменных классов, поскольку я использую schemaless mongodb на моем сервере.

+0

если вы попытаетесь прокомментировать первое сопоставление /$controller/$action?/$id?(.${format})???? –

+0

@FabianoTaioli не работает! – rahulserver

+0

Если вы меняете отображения на «/ ewhet/$ idx "(контроллер:« ewhet », действие:« показать »), это idx в параметрах? –

ответ

1

Попробуйте перезагрузить приложение после изменения UrlMappings.groovy, чтобы убедиться, что новая конфигурация загружена правильно.

+0

Большое спасибо !!! – rahulserver

+0

Infact Я нашел более общее отображение, которое работает для меня. Я добавил этот код в urlmappings: "/ $ controller/$ ID "(действие:" шоу ") – rahulserver

 Смежные вопросы

  • Нет связанных вопросов^_^