Freemarker实战:标签语法与Spring Boot代码生成器

需积分: 13 1 下载量 170 浏览量 更新于2024-09-08 收藏 14KB TXT 举报
"这是一份关于Freemarker的个人学习笔记,主要涵盖了Freemarker的常用标签用法、嵌套标签的应用以及一个基于Spring Boot的代码生成器的实现。笔记中还提供了示例代码和使用技巧,帮助理解Freemarker模板语言的运用。" 在Freemarker中,`?exists` 和 `?if_exists` 是两个非常关键的内建函数,它们用来检查变量是否存在。`?exists` 返回一个布尔值,表示变量是否已经被定义或初始化。如果变量存在,它会返回 `true`,否则返回 `false`。而 `?if_exists` 与 `?exists` 类似,但在变量不存在时,它不会抛出异常,而是返回 `null`。 例如: ```freemarker <#ifs?exists> ${s?if_exists} </#ifs> ``` 这段代码会检查 `s` 是否存在,如果存在则输出其值,如果不存在则不输出任何内容,也不会抛出异常。 在处理数字时,`?default` 可以用来设置默认值。例如: ```freemarker ${t?default(1000)} ``` 如果 `t` 的值未定义或为 `null`,上述表达式会输出 `1000`。`?c` 则是将数字转换为货币格式。 在处理列表时,`<#list>` 标签用于遍历一个集合,如数组或列表。例如: ```freemarker <#list ["winter", "spring", "summer", "autumn"] as x> ${x} </#list> ``` 这段代码会依次输出季节名称。 此外,Freemarker允许在`<#list>`标签中使用范围操作,如`2..5`,这将创建一个包含2到5(包括2和5)的整数序列。如果省略起始或结束值,Freemarker会自动推断,例如`5..`表示从5开始到最大整数,`..5`表示从最小整数到5。 在HTML表格生成方面,笔记中的示例展示了如何通过计算字段数量除以行数的余数来填充空格,以保持表格列的对齐。这种技巧常用于生成动态表格布局。 最后,笔记提到了访问数组元素的方式,例如 `${user[0]}` 和 `${user[4]}`,以及获取数组子集的操作 `${user[1..4]}`。`?tc` 和 `?omc` 分别用于转换字符串为特定格式,如日期格式化。 这些内容只是Freemarker模板语言的一部分,实际使用中还有更多功能,如条件语句、循环控制、函数调用等,都是开发Web应用时不可或缺的工具。通过深入学习和实践,可以更有效地利用Freemarker生成动态HTML或其他文本格式的输出。