Freemarker帮助:将数据传递给列表指令进行排序

时间:2014-02-18 18:50:01

标签: freemarker

第一次发布海报和Freemarker新手。我希望有人可以为此提供帮助。我目前正在使用<#data>指令从1对多表中引用数据。我想按特定的字段顺序对结果进行排序,但我认为只能通过<#list>指令来完成。这是我到目前为止所做的:

有一个CART_ABANDONMENT表,其中包含以下字段:

CUSTOMER_ID_
PRODUCT_ID
PRODUCT_NAME
PRODUCT_PRICE
ABANDONED_DATE

<#data CART_ABANDONMENT as abandonment><br>
<#filter CUST_ID="${CONTACTS_LIST.CUSTOMER_ID_}"><br>
<#fields PRODUCT_ID PRODUCT_NAME PRODUCT_PRICE ABANDONED_DATE><br>
${abandonment.PRODUCT_NAME} ${abandonment.PRODUCT_PRICE}<br>
</#data>

我想要做的是列出所有相关结果(按CUSTOMER_ID_)并按PRODUCT_PRICE排序,降序。

这可能很简单,但我找不到答案。

任何指导都将不胜感激。

2 个答案:

答案 0 :(得分:0)

Freemarker是强大的工具工具,但它只是模板引擎。
它具有sort directive列表,但它只能应用于内置类型:字符串,数字和日期。
您可以将复杂类型的列表转换为一个或多个内置类型列表,并在模板中使用?sort
另一种方法是在处理之前将已经排序(如你所愿)的列表传递给模板。

答案 1 :(得分:0)

你想要的东西听起来像应该在数据库(SQL)级别上解决的东西,特别是当你说“列出所有相关结果(通过CUSTOMER_ID_)”时。 FreeMarker只是MVC中的V(for View)。