概述
SpringBoot使用FreeMarker模版引擎
1.导入依赖:
<!--freemarker-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
(也可以在创建的时候直接勾选)
2.application.properties/application.yml
(注意这里一定要配置,否则controller跳转页面)
properties的:
spring.freemarker.suffix=.ftl
yml的:
spring:
freemarker:
suffix: .flt
3.controller层
@Controller
public class FreemarkerController {
@RequestMapping("/getFreemarker")
public String getFreemarker(Map map){
User user=new User();
user.setName("余家奇");
user.setAge(18);
user.setClazz("Java 5班");
map.put("user",user);
return "ftlindex";
}
}
实体类user:(后面页面会用到相关属性)
@Data
public class User {
private String name;
private int age;
private String clazz;
}
4.FreeMarkder
ftlindex.ftl页面
字符串输出:
${"Hello ${user.name} !"} / ${"Hello" + user.name + "!"}
</br>
<#assign cname=r"特殊字符串完成输出(http:www.baidu.com)"/>
${cname}
</br>
----------------------------------------------------------
</br>
字符串截取:
通过下标直接获取下标对应的字母:${user.name[2]}
</br>
起点下标..结尾下标截取字符串:${user.name[0.5]}
</br>
算数运算:
<#--支持“+”、“-”、“*”、“/”、“%运算符”-->
</br>
<#assign number1=10>
<#assign number2=5>
"+" : ${number1+number2}
</br>
"-" : ${number1-number2}
</br>
"*" : ${number1*number2}
</br>
"/" : ${number1/number2}
</br>
--------------------------------------------------------------
比较运算符
<#if number1+number2 gte 12||number1-number2 lt 6>
"*" : ${number1 * number2}
<#else>
"/" : ${number1/number2}
</#if>
</br>
内建函数:
<#assign data="abcdABCD1234">
data:${data}
</br>
第一个字母大写: ${data?cap_first}
</br>
所有字母小写: ${data?lower_case}
</br>
所有字母大写: ${data?upper_case}
</br>
<#assign floatData=12.34>
数字去整数: ${floatData?int}
</br>
获取集合的长度:${user?size}
</br>
<#--时间格式化:${dataTime?string("yyyy-MM-dd")}-->
</br>
空判断和对象集合
<#if users??>
<#list user as user>
姓名:${user.name} - 年纪: ${user.age} - 班级: ${user.clazz}
</#list>
<#else>
${user!变量为空则给一个默认值}
</#if>
</br>
Map集合
<#assign mapData={"name":"程序员","salary":"20000"}>
</br>
直接通过Key获取Value值:${mapData["name"]}
</br>
通过Key遍历Map:
<#list mapData?values as value>
Value:${value}
</#list>
</br>
List集合:
<#assign listData=["我的","小胖","漂亮"]>
<#list listData as value>${value}</#list>
</br>
-------------------------------------------------------------
</br>
include指令:
</br>
引入其他文件:<#include "ontherftl.ftl"/>
</br>
macro宏指令
<#macro mo>
定义一个无参数的宏macro--${user.name}
</#macro>
使用宏macro:<@mo/>
</br>
<#macro moArgs a b c>
自定义参数的宏macro---${a+b+c}
</#macro>
使用带参数的宏macro:<@moArgs a=1 b=2 c=3 />
</br>
</br>
命名空间:
<#import "ontherftl.ftl" as ftlindex>
${ftlindex.otherName}
</br>
<@ftlindex.addMethod a=10 b=20 />
<#assign otherName="修改ontherftl.ftl中的otherName变量值"/>
${ftlindex.otherName}
<#assign otherName="修改ontherftl.ftl中的otherName变量值" in ftlindex/>
${ftlindex.otherName}
ontherftl.ftl
<#assign otherName="小胖"/>
<#macro addMethod a b>
${a*b}
</#macro>
经过一整套流程下来我们基本上就会掌握freemarker使用方法啦!!!快去试试吧
还有就是也可以通过更改页面后缀面实现页面跳转 ontherftl.ftl—>ontherftl.ftlh
最后
以上就是坚强鸡为你收集整理的SpringBoot使用FreeMarker模版引擎的全部内容,希望文章能够帮你解决SpringBoot使用FreeMarker模版引擎所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复