私は Play フレームワーク (2.1.3) から始めているので、これは簡単な質問のように思えますが、まだ解決策を見つけていません。
たぶん、それを機能させるための完全な他のアプローチがあるので、これに関する例を見つけられません。
3 つのオプションのフィルター値に基づいて値のリストを表示したいと考えています。
私のコントローラーは3つのパラメーターを受け入れます
public static Result index(Integer filterA, String filterB, String filterC)
リクエストを送信するルート
GET / controllers.Teachers.index(filterA :Integer = null, filterB = null, filterC = null)
これは次のような URL を受け入れますlocalhost:9000/?filterA=10&filterB=20&filterC=test
フィルターは、値をクリックするだけで 3 つのリストから選択できる必要があるため、テンプレート内のリンクは次のようになります。
<a href="@routes.Teachers.index()?filterA=10">Value for filter A</a>
<a href="@routes.Teachers.index()?filterB=20">Value for filter B</a>
<a href="@routes.Teachers.index()?filterC=test">Value for filter C</a>
これは、URL 生成の制御から外れているため、「再生方法」ではないと思います。さらに、2 つのフィルターを一緒に設定する場合は、選択したフィルターをテンプレート (パラメーターまたはセッション) に渡し、次のような複雑なリンクを設定する必要があります。
<a href="@routes.Teachers.index()?filterA=10&filterB=@selectedB&filterC=@selectedC">Value for filter A</a>
<a href="@routes.Teachers.index()?filterA=@selectedA&filterB=20&filterC=@selectedC">Value for filter B</a>
<a href="@routes.Teachers.index()?filterA=@selectedA&filterB=@selectedB&filterC=test">Value for filter C</a>
したがって、私の意見では、これは非常に一般的なユースケースですが、プレイ内でこれを簡単に行う方法がわかりません:)