freemaker 配置
freemarker:
charset: UTF-8
suffix: .html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
hello world
${hello}
<#list list as i>
<div data-id="${i}">${i_index} hello world </div>
</#list>
</body>
</html>
package com.lyr.blogweb.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Arrays;
/**
* @Author lyr
* @create 2020/8/2 14:23
*/
@Controller
public class IndexController {
@RequestMapping("/hello")
public String model(Model model) {
model.addAttribute("hello","world");
model.addAttribute("list", Arrays.asList(1,2,3,4,5));
return "index";
}
}
获取下标 用 item _index 加个下划线就可以了
freemaker 常用指令
if指令
<#if condition>
xx
<#elseif condition>
xx
<#else>
xxxx
<#if>
例如
<# flag=1>
1
</#elseif flag=2>
2
<#else>
null
</#if>
循环指令
<#list list as i>
${i_index}. ${i} <#if i_has_next>,</#if>
</#list>
<#list list as i>
${i_index}. ${i} <#if i_has_next>,</#if>
<#if i==4><#break ></#if>
</#list>
assign赋值指令
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
hello world
${hello}
<br>
<#list list as i>
${i_index}. ${i} <#if i_has_next>,</#if>
<#if i==4><#break ></#if>
</#list>
<#include "404.html">
<#--
这个是 freemaker 的注释
上面引入了片段并且执行了
-->
<#--
assign 指令,定义数据存入模型
-->
<#assign example=666>
${example}
</body>
</html>
freemaker 内置函数
<#assign example="TOMCAT">
${example?lower_case}
定义宏
<#macro fun param>
<strong>hello ${param}</strong>
</#macro>
<@fun param=666 />