Play Framework模板,向后迭代List

时间:2014-07-17 18:28:02

标签: list scala playframework-2.0

在loginHistory.scala.html文件中,我有一个List,我想以相反的顺序进行交互。我试过这个:

@for(index <- historyList.size until 0) {
    <tr class="@if(index % 2 == 0){normalRow}else{alternateRow}"> 
        <td class="col-date-time">@historyList(index).getFormattedDate</td> 
        <td class="col-result">@historyList(index).getLoginStatus</td> 
        <td class="col-protocol">@historyList(index).getProtocol</td> 
        <td class="col-ip-address">@historyList(index).getIpAddress</td>
    </tr>
}

但我最终得到一张空桌子。

1 个答案:

答案 0 :(得分:4)

无法以相反的顺序遍历链接的List。你必须先reverse。您还可以使用zipWithIndex对其进行索引,而无需按索引访问元素。

@for((row, index) <- historyList.reverse.zipWithIndex) {
    <tr class="@if(index % 2 == 0){normalRow}else{alternateRow}"> 
        <td class="col-date-time">@row.getFormattedDate</td> 
        <td class="col-result">@row.getLoginStatus</td> 
        <td class="col-protocol">@row.getProtocol</td> 
        <td class="col-ip-address">@row.getIpAddress</td>
    </tr>
}