2017-06-14 7 views
0

FreeMarkerでの簡単なブログの使用Spark Frameworkを実装します。ページごとに5つのエントリしか表示しないためにページ番号を表示する必要はありません。ページ番号を表示する必要はありません。次のボタンと前のボタンは問題ありません。しかし、私はページ区切りでどこから始めるべきかも知らない。すべてのエントリ表示するには、この私の現在のコード:FreeMarkerでのSpark Frameworkによる単純なページ設定

また
<#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); 

すべてのヘルプは、事前に感謝をいただければ幸いです!

答えて

0

通常、リストをモデルに入れる前にページを設定します。これは、表示されないエントリを読み込まないようにするためです。したがって、現在のページに実際に表示されるエントリのリスト(リスト全体ではなく)だけを渡すだけでなく、テンプレートで使用できるpageNumbertotalPagesの変数(2つの数値)を渡します。

ところで、テンプレートでは、art.getAuthor().getName()art.author.nameと書くことができます。 body?substring(0,70)body[0 .. 70]と書くことができます。

関連する問題