[Java]FreemarkerのテンプレートでPaging(ページング)処理を行う
- February 3rd, 2010
- Posted in Java
- Write comment
以下のようなFunctionを作った。
引数に、リスト、ページあたりに表示する行数、現在ページ数。
<#function paginator list num page> <#assign has_pre = false> <#assign has_next = false> <#if list?size == 0> <#return list> </#if> <#local start = (page - 1) * num> <#local end = start + num - 1> <#if page gt 1> <#assign has_pre = true> </#if> <#if end gte list?size - 1> <#local end = list?size - 1> <#assign has_next = false> <#else> <#assign has_next = true> </#if> <#return list[start..end]> </#function>
使い方的には以下のようになる。
<#list paginator(["a", "b", "c", "d", "e"], 2, page) as item>
${item}<br />
</#list>
<#if has_pre><a href="?page=${page - 1}">pre</a></#if>
<#if has_next><a href="?page=${page + 1}">next</a></#if>
Popularity: 39% [?]
No comments yet.