如何使用免费标记获取列表中的第一项?

How can I get the first item in a list using free marker?

我有以下代码,其中包含大约 12 个项目,但我只需要检索第一个项目。如何显示列表中的第一项?

我的代码是:

<#list analysttest.rss.channel.item as item>
          <div>
                  <h3 class="bstitle">${item.title}</h3>
                  <span class="bsauthor">${item.author}</span> 
                  <span>${item.pubDate}</span>
                  <p>${item.description}</p>

          </div>
      </#list>
<#assign item = analysttest.rss.channel.item[0]>

<div>
  <h3 class="bstitle">${item.title}</h3>
  <span class="bsauthor">${item.author}</span> 
  <span>${item.pubDate}</span>
  <p>${item.description}</p>
</div>

analysttest.rss.channel.item[0] 给出了第一个项目,为了方便,你可以 #assign 给一个更短的名字。请注意,必须至少存在 1 个项目,否则会出现错误。 (或者,你可以做类似 <#assign item = analysttest.rss.channel.item[0]!someDefault> 的事情,其中​​ someDefault 就像 ''[]{} 等,这取决于你的需要。甚至一个较短的 <#assign item = analysttest.rss.channel.item[0]!> 形式,它使用多类型 "generic nothing" 值作为默认值...请参阅手册。)

列表也是可能的,尽管只有一项是奇数:<#list analysttest.rss.channel.item[0..*1] as item>,其中 *1 表示最大长度为 1(需要 FreeMarker 2.3.21 或更高版本)。即使您有 0 个项目,这也有效(并且不输出任何内容)。