FreeMarker with Spark Framework中的简单分页



我用FreeMarker实现了一个简单的博客Spark Framework。我需要实现分页,以便每页仅显示 5 个条目,并且无需显示页码,使用下一个和上一个按钮就可以了。但是,我什至不知道从哪里开始分页。这是我当前的代码来显示所有条目:

<#list entries as art>
<h2>
<a href="/Entrada/${art_index}">${art.getTitle()}</a>
</h2>
<p>
Author: <a href="">${art.getAuthor().getName()}</a>
</p>
<p><span class="glyphicon glyphicon-time"></span>${art.getDate()}</p>
<hr>
<#assign body=art.getBody()>
<#if body?length &lt; 70>
${body}
<#else>
${body?substring(0,70) + "..."}
</#if>
<br><br>
<a class="btn btn-primary" href="/Entrada/${art_index}">Read More<span class="glyphicon glyphicon-chevron-right"></span></a>
<hr>
</#list>

另外,下面是Spark Framework中的后端代码:

get("/Home", (request, response) -> {
Map<String, Object> attributes = new HashMap<>();
attributes.put("entries", entrie.getEntries());
return new ModelAndView(attributes, "index.ftl");
}, freeMarkerEngine);

任何帮助将不胜感激,提前感谢!

通常在将列表放入模型之前进行分页,因为这样就可以避免加载无论如何都不会显示的条目。因此,只需传递您将在当前页面上实际显示的条目列表(而不是整个列表),并且还传递可以在模板中使用的pageNumbertotalPages变量(两个数字)。

顺便说一句,在模板中,art.getAuthor().getName()可以写成art.author.name.body?substring(0,70)可以写成body[0 .. 70]

最新更新