0

グレイルズ 1.3.5

アプリケーションで新しいコントローラーにマッピングする場合:

"/order/$action/$id?" {
  controller = "customerOrder"
}

「/order/show/13」のリクエストは「/( )/( )?/(*)?」に解決されます。ログでここに見られるように:

17:53:02 DEBUG  UrlMappingsFilter - Matched URI [/order/show/13] to URL mapping [/(*)/(*)?/(*)?], forwarding to [/grails/home/page.dispatch] with response [class org.codehaus.groovy.grails.web.sitemesh.GrailsContentBufferingResponse]

このマッピングを追加すると:

"/order/show/13"{
  controller = "customerOrder"
  action = "show"
  id = 13
}

それでも「/( )/( )?/(*)?」に解決されます。マッピングを編集しました:

"/customerOrder/show/13"{
  controller = "customerOrder"
  action = "show"
  id = 13
}

およびログ レポート:

18:50:08 DEBUG  DefaultUrlMappingsHolder - Matched URI [/customerOrder/show/13] with pattern [/customerOrder/show/13], adding to posibilities

後でそれはまた報告します:

18:50:08 DEBUG  DefaultUrlMappingsHolder - Matched URI [/customerOrder/show/13] with pattern [/(*)/(*)?/(*)?], adding to posibilities

私はこれに完全に困惑しています。いずれにせよ、それは同じように解決します。アイデアはありますか?

4

1 に答える 1

1

どうやら、1.3.5では、ビュー関数を宣言するときに、関数構文の代わりに名前付きクロージャを使用する必要があります。

def show( Long id ) { }

def show = {}

後者は正しいです。誰かが理由についていくつかの光を当てることができれば...

于 2012-12-24T01:33:14.923 に答える