我有一个很长的对象列表,我想显示分页。为此,我尝试了以下内容:
@(data: Array[backend.scala.query.ResultListObject[backend.scala.datatypes.LineListObject]])
@import scala.util.Try
@for(dataItem <- Try(data.take(100)).getOrElse(data)) {
<tr>@Html(dataItem.toHtml)</tr>
}
@if(data.length > 100) {
<a href="@controllers.Application.moreData(data.drop(100))">next page</a>
}
此代码的问题在于下一页的链接。当然,我所拥有的东西不起作用,因为那实际上并不是一条路线。所以我尝试了这个:
@if(data.length > 100) {
<a href="@routes.Application.moreData(data.drop(100))">next page</a>
}
在这种情况下,routes文件如下所示:
GET /moreData:data Application.moreData(data)
但是这给了我一个类型错误,因为data是一个字符串,我需要一个Array [ResultListObject [LineListObject]]。虽然我可以尝试将数据转换为字符串并返回,但这是不可能的,因为列表长度为10000 +项。
如何使用play 2.0将其余数据传回同一页面?