FreeMarket常用语法与库函数实战解析

需积分: 10 2 下载量 6 浏览量 更新于2024-09-11 收藏 21KB DOCX 举报
"freeMarket是一个个人总结的关于freeMarker模板语言常用语法和库函数的应用实例集合,旨在帮助用户无需查阅文档即可快速上手。" 在freeMarker模板语言中,${…}是表达式标签,用于输出数据模型中的变量或执行简单的运算。例如,`${user}`会输出`user`变量的值,而`${user?<if condition>}...<#else>...<#if>`则可以在条件满足时输出特定内容。 `<#if>`标签用于条件判断,如示例所示,比较两个动物的价格:如果`animals.python.price`小于`animals.elephant.price`,则输出Python更便宜的信息,反之则输出Python不便宜的信息。这在构建动态内容时非常有用。 `<#list>`标签用于遍历集合,例如遍历`animals`集合并输出每个动物的名字和价格。同时,它还可以与`as`关键字一起使用,如`<#list animals as being>`,将当前元素赋值给`being`变量,方便进一步处理。 `<#include>`标签用于在模板中嵌入其他文件,例如包含版权信息的`/copyright_footer.html`。 在处理表格或其他布局时,可以利用`<#if>`条件标签与`<#list>`结合,根据动物的大小调整字体大小,如示例中的大型动物会加大字体。 为了避免变量丢失导致的错误,可以给变量提供默认值,如`${user!"Anonymous"}`。当`user`变量不存在时,模板会显示"Anonymous"。此外,`<#if user??>`用于检测变量是否存在,只有在变量存在时才会执行后续操作。 免费Marker还支持简单的数学运算,如 `${cargo.weight/2+100}`,以及根据条件输出信息,如 cargo重量小于100时显示“Light cargo”。 `<#function>`可以定义自定义函数,如示例中的`avg`函数,用于计算平均值。 在字符串处理中,双引号`"`用于字符串引用,反斜杠`\`用于转义特殊字符,例如"It's\"quoted\"”。而`r"${foo}"`和`r"C:\foo\bar"`则是原生字符串,它们会保留原始的反斜杠,避免转义。 通过这些基础语法,开发者可以构建出复杂的动态HTML页面,有效地结合后端数据和前端展示。freeMarker的简洁语法使得模板编写更加直观,降低了维护成本。
2007-12-28 上传