赞
踩
FreeMarker的maven引用及application配置见第一篇教程
SpringBoot+FreeMarker 学习(一)初识FreeMarker
string?html
给出 string
的HTML转义版本, 比如 &
会由 &
来代替。
string?upper_case
给出 string
值的大写版本 (比如 "ABC" 来替代 "abc")
string?cap_first
给出 string
的首字母大写版本(比如 "Abc" 来替代 "abc")
string?length
给出 string
值中字符的数量(对于 "abc" 来说就是3)
list?size
给出 list序列中项目的个数
list?join(", ")
通过连接所有项,将列表转换为字符串, 在每个项之间插入参数分隔符(比如 "item1,item2")
string?starts_with("A")
根据 string
的首字母是否是 "A
" 返回布尔值true或false。
boolean?string("Y", "N")
基于布尔值来返回字符串 "Y" 或 "N"。
<#list users as user>
和对应的 </#list>
标签中user?index
给出了在 users
中基于0开始的 user
的索引值
user?counter
也像 index
, 但是给出的是基于1的索引值
user?item_parity
基于当前计数的奇偶性,给出字符串 "odd" 或 "even"。
user?item_cycle('lightRow','darkRow')
item_parity
更为常用的变体形式,奇数和偶数分别取lightRow和darkRow的值
例子:新建function.ftl模板文件
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>function</title>
- </head>
- <body>
- <p>${username} function html ${username?html}
- <p>${username} function upper_case ${username?upper_case}
- <p>${username} function cap_first ${username?cap_first}
- <p>${username} function length ${username?length}
- <p>list function size ${users?size}
- <p>list function join ${users?join(",", "name")}
- <p>${username} function starts_with A ${username?starts_with("A")?string("yes", "no")}
-
-
- <p>We have users:
- <table border=1>
- <tr><td>index<td>counter<td>item_parity<td>item_cycle<td>name<td>age
- <#list users as user>
- <tr><td>${user?index}<td>${user?counter}<td>${user?item_parity}<td>${user?item_cycle('lightRow','darkRow')}<td>${user.name}<td>${user.age}
- </#list>
- </table></body>
-
- </html>
创建FunctionContoller
- @Controller
- @RequestMapping(value = "/function")
- public class FunctionController {
-
- @RequestMapping("/test")
- public String includeLabel(String username, int userCount, Model model) {
- List<User> users = new ArrayList<>();
- for (int i = 0; i < userCount; i++) {
- User user = new User();
- user.setName(String.format("user%d", i + 1));
- user.setAge(i + 20);
- users.add(user);
- }
- model.addAttribute("users", users);
- model.addAttribute("username", username);
- return "function";
- }
-
- }
运行项目,访问地址: http://127.0.0.1:8080/function/test?username=test%3C%3E&userCount=10
html转义语法,这里展示不出来区别,可以查看网页源码
join方法,默认显示类的地址,我们重写一下User实体类的toString方法,可以让他显示用户名称
- @Getter
- @Setter
- public class User {
-
- private String name;
-
- private int age;
-
- @Override
- public String toString() {
- return name;
- }
-
- }
重新启动项目,再次访问
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。