由于我从 Play 框架(2.1.3)开始,这对我来说似乎是一个简单的问题,但我还没有找到解决方案。
也许有一个完整的其他方法可以让它工作,这就是为什么我没有找到这方面的例子。
我想显示基于三个可选过滤器值的值列表。
我的控制器接受三个参数
public static Result index(Integer filterA, String filterB, String filterC)
向它发送请求的路由
GET / controllers.Teachers.index(filterA :Integer = null, filterB = null, filterC = null)
这将接受像localhost:9000/?filterA=10&filterB=20&filterC=test
只需单击一个值,就可以通过三个列表选择过滤器,因此我在模板中的链接看起来像
<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。此外,当我想同时设置两个过滤器时,我必须将选择的过滤器传递给我的模板(参数或会话)并具有如下复杂链接:
<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>
所以在我看来,这是一个非常常见的用例,但我还没有弄清楚如何在游戏中轻松做到这一点:)