Plya2-Scala/view/routes のコントローラーマッピングからリンク用URLを生成する

Plya2-Scala/view/routes のコントローラーマッピングからリンク用URLを生成する

Play2-Scala 2.4

単純な固定URL

この piyo メソッドへの URL を生成したいとすると

GET    /hoge/piyo    controllers.Hoge.piyo

Template では、このように書くと

<a href="@routes.Hoge.piyo">To Piyo</a>

このように生成される。つまり routes からURLが逆引きされる。

<a href="/hoge/piyo">To Piyo</a>

定義の優先度

このように定義が被っていた場合、先に書いたほうが優先なので

GET    /hoge/fuga    controllers.Hoge.piyo
GET    /hoge/piyo    controllers.Hoge.piyo

このように生成される

<a href="/hoge/fuga">To Piyo</a>

REST風パラメータが付く場合

パラメータ付きのURLを生成したい場合。このような場合

GET    /hoge/piyo/:fuga    controllers.Hoge.piyo(fuga:String)

パラメータをつけて呼び出す

<a href="@routes.Hoge.piyo("abcd")">To Piyo</a>

こうすると routes の定義に従い、このように生成される。

<a href="/hoge/piyo/abcd">fuga abcd</a>

QueryString のパラメータが付く場合

このようにQueryString を受け付ける routes の場合は

GET    /hoge/piyo    controllers.Hoge.piyo(fuga:String)

同様にこう書くと

<a href="@routes.Hoge.piyo("abcd")">To Piyo</a>

こうすると routes の定義に従い、このように QueryString がくっつけて生成される。

<a href="/hoge/piyo?fuga=abcd">fuga abcd</a>
play_framework/play2_scala/view/create_link_url_from_routes_controller_mapping.txt · 最終更新: 2017-10-02 16:36 by ore