私は Play Framework 1.2.4 を使用していますが、同じコントローラー/アクション (特に SEO) を指す言語ごとに異なるルートを持つ方法があるかどうかを知りたいと思っていました。
たとえば、私は欲しい:
GET /en/how-it-works myController.howItWorks
GET /fr/comment-ca-marche myController.howItWorks
問題は、逆ルーティングがルート ファイルの先頭から始まることです。そのため /fr
、ウェブサイトの一部にいる場合、リンク@{myController.howItWorks}
は次のようになります。/en/how-it-works
私の場合を完了するために、パラメーターlang
を routeArgs として使用しています。これが私のルート ファイルです。
GET /{lang}/how-it-works myController.howItWorks
myController
routeArgs@Before
を設定するメソッドがあります。lang
このコードは機能してい/en/how-it-works
ます。言語を fr に変更すると、/fr/how-it-works
ルートファイルでこれを試しましたが、うまくいきません
%{if (lang == 'fr') { }%
GET /{lang}/comment-ca-marche myController.howItWorks
%{ } else { }%
GET /{lang}/how-it-work myController.howItWorks
%{ } }%
lang
パラメータはのようですnull
ので、正しいルートを動的に選択することはできません。同じ悩みを持っている人がいたら知りたいのですが、
ご協力ありがとうございました
(そして私の英語でごめんなさい...)