一个对象BOOK 1.输出 ${book.name} 空值判断:${book.name?if_exists }或空值判断可以写成<#if book.name?? > ${book.name?default(‘xxx’)}//默认值xxx 日期格式:${book.date?string('yyyy-MM-dd')} 数字格式:${book?string.number}--20 插入布尔值: <#assign foo=ture /> ${foo?string("yes","no")} <#-- yes --> 2.逻辑判断 <#if condition>... <#elseif condition> ... <#else> ... <#if/> <#switch value> <#case refValue1> 3. Sequence内置的计数器: xxx_index 用途:显示序号 模板: <#list employees as e> ${e_index}. ${e.name} </#list> 4、FreeMarker的list List使用样例-List元素为Scalar对象: <#list scalarList as value0> Scalar List值:${value0} </#list> List使用样例-List元素为User对象: <#list userList as listUser> List对象User Id值:${listUser.userId} </#list> 5、freeMarker的Map <#list scalarMap?keys as mykey> Scalar Map key is :${mykey} Scalar Map value is:${scalarMap[mykey]} </#list> <#list userMap?keys as key1> <#assign mapUser="${userMap[key1]}" > User Object is :${mapUser} <#-- 以下方法有问题 User is :${mapUser.userId} <br> --> </#list> 6、FreeMarker中list排序 升序: <#list list?sort_by("time") as v> </#list> 降序: <#list list?sort_by("time") as v> </#list> ... <#break> <#case refValue2> ... <#break> ... <#case refValueN> ... <#break> <#default> ... </#switch>