【发布时间】:2018-01-23 02:18:39
【问题描述】:
Freemarker 中内置的 sort 和 sort_by 用于列表。如何在 Freemarker 中对对象进行排序?
<#assign myObject = {
'item1':{'name': 'Name One', 'url': 'https://www.one.com, 'order': 1},
'item2':{'name': 'Name Two', 'url': 'https://www.two.com, 'order': 2},
'item3'...
}/>
<#macro displayobjectLinks>
<ul>
<#list objectLinks?keys as info>
<#if (info != "item1")>
<li><a href="${objectLinks[info].url}">${objectLinks[info].name}</a></li>
</#if>
</#list>
</ul>
</#macro?
如何根据“订单”按顺序显示?
我还需要访问我的对象(item1,item2...)的键,因为我正在基于它做一些事情。
【问题讨论】:
-
你能改变
myObject的外观吗?最好的办法是如果你当然已经对其进行了排序......但除此之外,它不能是像[ {'info': 'item1', 'name': 'Name One', 'url': 'http://...'}, ...]这样的对象列表吗?也就是一个对象列表,每个对象都有你需要的属性。 -
我可以改变它。谢谢!
标签: freemarker