6

grails で URL を作成する標準的な方法は次のとおりです。

<a href="${createLink(controller:'news', action: 'show', params: [id: news.id])}">${news.title}</a>

URLを生成します:/news/show/102

次のようなより SEO に適した URL が必要です。

/news/102/this-is-the-hottest-news-today

Grailsでこれを行う最もクリーンな方法は何ですか? grails URLMapping を使用して にマップできます/news/show/102/news/102、上記のように完全な URL を作成するにはどうすればよいですか?

4

1 に答える 1

15

次のように、見出しをパラメーターに変えることができます。

name story: "/news/$id/$headline" {
    controller = "news"
    action = "show"
}

そうすれば、見出しを含む URL を作成でき、マッピングは引き続き機能します。もちろん、コントローラーに表示される見出しパラメーターを実際に使用する必要はありません。上記の例では、名前付き URL マッピングを使用しているため、次のように言えます。

${createLink(mapping: "story", params: [id: 102, headline: 'this-is-the-hottest-news-today'])}

正規の URL を作成するためのこのプラグインにも興味があるかもしれません - http://www.grails.org/plugin/canonical

于 2010-03-02T09:31:09.710 に答える