freemarker介绍;
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
前面我介绍了如何整合thymeleaf,那么现在我们再来了解一下SpringBoot中如何使用freemark
使用freemark视图模板,并且于SpringBoot进行整合。 使用freemark显示用户(user)的信息
二、实现首先创建一个SpringBoot项目,添加如下依赖
org.springframework.boot spring-boot-starter-freemarkerorg.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-testtest
添加完依赖以后,就需要编写对应的Controller跟view和User.java了
在src/main/java/com/yukong/chapter22目录下新建User
package com.yukong.chapter22;import java.util.Date;public class User {
private String username;
private String password;
private Integer age;
private Integer sex; public String getUsername() { return username;
} public void setUsername(String username) { this.username = username;
} public String getPassword() { return password;
} public void setPassword(String password) { this.password = password;
} public Integer getAge() { return age;
} public void setAge(Integer age) { this.age = age;
} public Integer getSex() { return sex;
} public void setSex(Integer sex) { this.sex = sex;
}
}编写IndexController 实现将User信息传递给前台ftl页面。
@Controllerpublic class IndexController { @GetMapping("/aboutMe") public String index(Model model) throws ParseException {
User user = new User();
user.setUsername("yukong");
user.setPassword("abc123");
user.setAge(18);
user.setSex(1);
model.addAttribute("user", user); return "index";
}
}注意这里使用的是@Controller
在resource目录下新建templates文件夹并且在该目录下新建文件index.ftl
记住是ftl freemark文件的后缀名是ftl
index.ftl代码
freemark 你好 ${user.username}
密码 ${user.password}
性别: <#if user.sex==1> 男 <#elseif user.sex==2> 女 <#else> 保密 #if>
年龄 ${user.age}
然后在src/resource/application.yml配置一下thymeleaf相关配置
server: port: 8989 spring: freemarker: request-context-attribute: req #req访问request suffix: .ftl #后缀名 content-type: text/html enabled: true cache: false #缓存配置 template-loader-path: classpath:/templates/ #模板加载路径 按需配置 charset: UTF-8 #编码格式 settings: number_format: '0.##' #数字格式化,无小数点
启动Chapter22Application.java并且访问http://localhost:8989/aboutMe
结果如图
image.png
作者:余空啊
链接:https://www.jianshu.com/p/ede0d698b0ae



