播放2.3:通过控制器传递模型数据

时间:2015-03-02 16:48:22

标签: java playframework playframework-2.0

我有一个带有一堆过滤器的模型类:

@Entity
public class MyModel extends Model
{
   String name;
   String filterA;
   String filterB;
   String filterC;
}

基本上我将此用于包含搜索和搜索结果的页面。 提交搜索时非常简单,因为我只是发布并使用bindFromRequest()来获取所有过滤器。

但是当我想要分页时,我发现它有问题。我希望能够在用户选择页面时记住这些选定的过滤器。分页链接是GET请求,因此我无法使用bindFromRequest()。我四处寻找QueryStringBindable,但我无法理解如何绑定模型。

理想情况下,我不希望必须将每个过滤器传递到分页链接,因为过滤器的数量可能会不断变化。

编辑:

一个更好的框架问题是,如果我在页面上有一堆过滤器,并且我点击另一个页码,我最好如何将过滤器信息发送到下一页,以便可以填充所有控件?通过每个过滤器不是很干净,因为过滤器的数量可以增加。

1 个答案:

答案 0 :(得分:0)

最后,我能够使用QueryStringBindable解决分页问题。文档上有一个很好的例子 - https://www.playframework.com/documentation/2.3.1/api/java/play/mvc/QueryStringBindable.html

一旦我实现了这个界面,我就可以将MyModel作为参数传递给控制器​​动作以进行分页,并且它会将信息添加到url中,如果你想复制粘贴链接,那么该信息非常有用。