java freemarker 模版_Java模版引擎之Freemarker

Java模版引擎之Freemarker

freemarker是一款模版引擎,是一种基于模版生成静态文件的通用工具,它是为Java程序员提供的一个类库,它不是面向最终用户的,而是为程序员提供了一款可以嵌入他们开发产品的应用程序。

1. 插值

1.1 常用${var}语法进行取值

1.2 对null、不存在对象取值${var!’设置默认值’}

1.3 取包装对象的值,通过“点”语法:${user.name}

1.4 取值的时候进行计算、赋值:

${‘输出:’ + str}

1.5 Date类型格式${date?String(yyyy-MM-dd‘’)}

1.6 转义HTML内容:${var?html}

2. 逻辑指定:if、switch

2.1 if

var = ‘str1’var != ‘str1’#if>

var = ‘str1’var != ‘str2’var != ‘str1’#if>

用  或判断变量是否存在

2.2 switch

case1

other#switch>

3. 集合遍历

3.1 list遍历

下标:${item_index}

值:${item}

#list>

3.2 map遍历

${key} : ${map[key]}

#list>

4. string基本操作指令

${str?substring(5,8)}:截取,取头不取尾

${str?length}:获取长度

${str?upper_case}:全部转为大写

${str?lower_case}:全部转为小写

${str?index_of(‘xx’)}:查找子串第一次出现的位置

${str?last_index_of(‘xx’)}:查找子串最后一次出现的位置

${str?replace(‘a’,’xx’)}:替换

5. 自定义函数(继承TemplateMethodModelEx接口)

5.1 创建自定义函数类

public class TemplateMethd implementsTemplateMethodModelEx {

@Overridepublic Object exec(List list) throwsTemplateModelException {//获取参数

SimpleSequence simpleSequence = (SimpleSequence) list.get(0);

List list1 =simpleSequence.toList();

Collections.sort(list1, (a, b)-> { return a.intValue() -b.intValue(); });returnlist1;

}

}

5.2 将自定义函数对象传到模版中

modelAndView.setViewName("index");

modelAndView.addObject("sort_int_list", newTemplateMethd());return modelAndView;

5.3 在模版中使用

${item},#list>

6. List的指令

6.1 排序

${item_index} : ${item}

#list>

6.2 反转

${item_index} : ${item}

#list>

6.3 长度

${myList.size}

7. Freemarker内建函数

7.1 处理字符串内建函数

substring:字符串截取

cap_first:首字母大写

starts_with:是否以子串开始

ends_with:是否以子串结尾

index_of:查找子串第一次出现下标

last_index_of:查找子串最后一次出现下标

split:分隔字符串

trim:去首位空格

contains:是否包含子串

date/datetime/time:字符串转换为日期格式

7.2 处理数字的内建函数

string:转为字符串

x?string(“0.##”):转为小数点

round:四舍五入

floor:四舍五入

ceiling:四舍五入进一

7.3 处理List的内建函数

first/list:取第一个/最后一个值

seq_contains:序列是否包含该值

seq_index_of:该值在list中第一次出现的下标

size/reverse/sort/sort_by:大小/反转/排序/list中为一个对象,可以根据某个属性进行排序

chunk(num):把list进行分块处理,每num为一块

7.4 其他内建函数

is函数:is_string/is_number/is_method(判断是否为string/number/method)

has_content函数:判断一个对象是否是null、不存在

8. Function指令

@function>调用: ${doAdd(5, 6)}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值