FreeMaker

参考资料

英文官网

中文翻译版文档

Spring-boot集成freemarker入门|实践

配置

  1. maven引入依赖
1
2
3
4
5
6
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐freemarker</artifactId>
</dependency>
</dependencies>
  1. 配置文件
1
2
3
4
spring:
freemarker:
suffix: .html
request-context-attribute: request
  1. (可选)配置类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Configuration
public class FreemarkerConfig {

@Bean
public FreeMarkerConfigurer freeMarkerConfigurer(ShiroTag shiroTag){
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setTemplateLoaderPath("classpath:/templates");
Map<String, Object> variables = new HashMap<>(1);
variables.put("shiro", shiroTag);
configurer.setFreemarkerVariables(variables);

Properties settings = new Properties();
settings.setProperty("default_encoding", "utf-8");
settings.setProperty("number_format", "0.##");
configurer.setFreemarkerSettings(settings);
return configurer;
}

}

使用

java后台使用freeMarker,将值传给前端

前端页面获取后台传输的值

以下是个人使用经验

  1. 后端Controller层使用 @ResponseBody 注解将需要的参数放入响应体中
  2. 前端使用vue配合Ajax和jqGrid生成完整页面