0

我使用带有 FreeMarker 的 Spark 框架实现了一个简单的博客。我需要实现分页以便每页只显示 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 框架中的后端代码:

get("/Home", (request, response) -> {

    Map<String, Object> attributes = new HashMap<>();
    attributes.put("entries", entrie.getEntries());
    return new ModelAndView(attributes, "index.ftl");

}, freeMarkerEngine);

任何帮助将不胜感激,在此先感谢!

4

1 回答 1

0

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

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

于 2017-06-14T07:14:50.290 回答