最新要闻
- 焦点速看:昆导确认:十部电影上限降至《杀死比尔3》无望
- 满血版骁龙8+《原神》满帧无压力!红魔电竞平板发布|焦点日报
- 突然!腾讯音频App企鹅FM宣布停运:上线刚8年 环球短讯
- 【世界新要闻】通吃全平台!红魔Dao TWS氘锋耳机上市:1499元起
- 天天微资讯!几百块的激光打印机堪用吗?实测后心里有数了
- 红魔魔境49寸QD-OLED电竞显示器发布:240Hz超高刷新率-全球热议
- 【世界独家】第五套人民币豹子号价格(2023年7月5日)
- 美国女网红直播睡觉月入1447万 网友羡慕:躺着就把钱赚了
- 环球时讯:被曝能白嫖付费网页:ChatGPT紧急下线联网模式
- 打破全球23年魔咒!天兵科技天龙三号大型液体火箭明年首飞:可复用_时讯
- 环球视讯!谷歌论文展示量子计算机新突破!超算47年任务几秒即可完成
- 轿车高速路上强行变道被大货撞旋一圈 女子不满处罚:明明是他撞我
- 灵山卫站派出所110民警帮助乘客归还遗失证件
- 全新国产芯片设计EDA发布:首发PCIe 5.0、60万兆网络!
- 日本有孩家庭数首次跌破1000万户:欲加快推进机器人、AI人工智能
- 曝小米14系列和Redmi Note 13系列手机预装MIUI 15,均配备极窄屏 环球快报
手机
光庭信息跌4.57% 2021上市超募11亿2022扣非降74% 时快讯
搜狐汽车全球快讯 | 大众汽车最新专利曝光:仪表支持拆卸 可用手机、平板替代-环球关注
- 光庭信息跌4.57% 2021上市超募11亿2022扣非降74% 时快讯
- 搜狐汽车全球快讯 | 大众汽车最新专利曝光:仪表支持拆卸 可用手机、平板替代-环球关注
- 视点!美国首位女总统即将诞生?拜登恐怕要提前下岗,美政坛迎来变局?
- 当前速递!用理想仪器实现更好的颗粒 德国新帕泰克亮相CPHI & PMEC China获好评
- 微粒贷怎么申请开通 开通方法如下
- 焦点简讯:心疼!这位40岁的云南缉毒警,已是满头白发
家电
FreeMarker指令语法【FreeMarker】
一、基础语法种类
1.1 注释,即 <#-- -->,介于其之间的内容会被 FreeMarker 忽略
<#-- 我是一个FreeMarker注释 -->
1.2 插值(Interpolation):即 ${..} 部分,FreeMarker 会用真实的值代替 ${..}
(资料图)
Hello ${name}
1.3 FTL指令:和 HTML标记类似,名字前加 # 予以区分,FreeMarker 会解释标签中的表达式或逻辑
<# > FTL指令 #>
1.4 文本,仅文本信息,这些不是 FreeMarker 的注释、插值、FTL指令的内容会被 FreeMarker 忽略分析,直接输出内容
<#-- FreeMarker 中的普通文本 -->我是一个普通的文本
二、遍历 List 集合
指令格式
<#list ListName as 别名> ${别名.属性} ${别名_index} 下标从 0 开始 ${别名_index + 1} 下标从 1 开始#list>
三、获取 Map 中的数据
取单个值方式一 ${MapName["keyname"].property}方式二 ${MapName.keyname.property}
遍历 Map 中的数据<#list MapName?keys as key> ${key_index + 1} ${MapName[key].属性}#list>
四、if 指令
<#if expression><#else>#if>
注意事项:在 FreeMarker中,判断是否相等,= 与 == 是一样的。
五、运算符
5.1 算术运算符
加法 | + |
减法 | - |
乘法 | * |
除法 | / |
求模(求余) | % |
100+5 运算: ${100 + 5}100-5*5运算: ${100 - 5 * 5}5/2运算:${5 / 2}12 % 10运算:${12 % 10}
5.2 比较运算符
比较运算符 | 说明 |
= 或者 == | 判断两个值 是否 相等 |
!= | 判断两个值 是否 不等 |
> 或者 gt | 判断 左边值 是否 大于 右边值 |
>= 或者 gte | 判断 左边值 是否 大于等于 右边值 |
< 或者 lt | 判断 左边值 是否 小于 右边值 |
<= 或者 lte | 判断 左边值 是否 小于等于 右边值 |
注意事项
= 和 != 可以用于字符串、数值和日期来比较是否相等
= 和 != 两边必须是相同类型的值,否则会产生错误
字符串 "x"、"x "、"X" 比较是不等的,因为 FreeMarker 是精确比较
gt 代替 > ,FreeMarker 会把 > 解释成 FTL 标签的结束字符,可使用括号避免这种情况,如:<#if(x>y)>
5.3 逻辑运算符
逻辑与 | && |
逻辑或 | || |
逻辑非 | ! |
<#if (10 lt 12)&&(10 gt 5)> (10 lt 12)&&(10 gt 5) 显示为 true#if>
<#if !false> false 取反为 true#if>
5.4 空值处理
1、判断某变量是否存在使用"??"
用法为
variable??
如果该变量存在,返回 true,否则返回 false
<#if stus??> <#list stus as stu> ...... #list>#if>
2、缺失变量默认值使用"!"
使用 ! 要以指定一个默认值,当变量为空时显示默认值
例:${name!""} 表示如果 name 为空 显示空字符串
如果是嵌套对象则建议使用()括起来
例:${(stu.name)!""} 表示,如果 stu 或 name 为空 默认显示空字符串
六、内建函数
内建函数语法格式: 变量 + ? + 函数名称
1. 集合的大小 ${集合名?size}2.日期格式化 显示年月日: ${today?date} 显示时分秒: ${today?time} 显示日期+时间: ${today?datetime} 自定义格式化: ${today?string("yyyy年MM月")}3.内建函数c model.addAttribute("point", 102920122); point 是数字型,使用 ${point}会显示这个数字的值,每三位使用逗号分隔。 如果不想显示为每三位分隔的数字,可以使用 c函数 将数字型转成字符串输出。 ${point?c}4.将 json字符串 转成 对象 其中用到了 assign标签,assign的作用是定义一个变量 <#assign text="{"bank":"工商银行","account":"10101920201920212"}" /> <#assign data=text?eval /> 开户行: ${data.bank} 账号: ${data.account}
七、静态文件生成
7.1 实现思路
7.2 代码实现示例
package com.heima.freemarker.test;import com.heima.freemarker.FreemarkerDemoApplication;import com.heima.freemarker.entity.Student;import freemarker.template.Configuration;import freemarker.template.Template;import freemarker.template.TemplateException;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;import java.io.FileWriter;import java.io.IOException;import java.util.*;@SpringBootTest(classes = FreemarkerDemoApplication.class)@RunWith(SpringRunner.class)public class FreemarkerTest { @Autowired private Configuration configuration; @Test public void test() throws IOException, TemplateException { Template template = configuration.getTemplate("02-list.ftl"); /** * 合成方法 * 两个参数 * 第一个参数: 模型数据 * 第二个参数: 输出流 */ template.process(getData(), new FileWriter("C:/VmWare/hmtt/IO/list.html")); } private Map getData() { Mapmap = new HashMap<>(); //------------------------------------ Student stu1 = new Student(); stu1.setName("小强"); stu1.setAge(18); stu1.setMoney(1000.86f); stu1.setBirthday(new Date()); //小红对象模型数据 Student stu2 = new Student(); stu2.setName("小红"); stu2.setMoney(200.1f); stu2.setAge(19); //将两个对象模型数据存放到List集合中 List stus = new ArrayList<>(); stus.add(stu1); stus.add(stu2); //向model中存放List集合数据 map.put("stus",stus);// model.addAttribute("stus",stus); //------------------------------------ //创建Map数据 HashMap stuMap = new HashMap<>(); stuMap.put("stu1",stu1); stuMap.put("stu2",stu2); // 3.1 向model中存放Map数据// model.addAttribute("stuMap", stuMap); map.put("stuMap", stuMap); //日期// model.addAttribute("today", new Date()); map.put("today", new Date()); //长数值// model.addAttribute("point", 89647844547125L); map.put("point", 89647844547125L);// return "02-list"; return map; }}
application.yml 配置
server: port: 8881 #服务端口spring: application: name: freemarker-demo #指定服务名 freemarker: cache: false #关闭模板缓存,方便测试 settings: template_update_delay: 0 #检查模板更新延迟时间,设置为0表示立即检查,如果时间大于0会有缓存不方便进行模板测试 suffix: .ftl #指定Freemarker模板文件的后缀名 template-loader-path: classpath:/templates #模板生成位置
关键词:
FreeMarker指令语法【FreeMarker】
最新消息:MedCalc v22.009 医学ROC曲线统计分析软件下载安装教程
04vgg剪枝_世界新动态
焦点速看:昆导确认:十部电影上限降至《杀死比尔3》无望
满血版骁龙8+《原神》满帧无压力!红魔电竞平板发布|焦点日报
突然!腾讯音频App企鹅FM宣布停运:上线刚8年 环球短讯
【世界新要闻】通吃全平台!红魔Dao TWS氘锋耳机上市:1499元起
天天微资讯!几百块的激光打印机堪用吗?实测后心里有数了
红魔魔境49寸QD-OLED电竞显示器发布:240Hz超高刷新率-全球热议
世界快讯:世界气象组织预警:厄尔尼诺或致今后气温“创纪录”
【世界独家】第五套人民币豹子号价格(2023年7月5日)
美国女网红直播睡觉月入1447万 网友羡慕:躺着就把钱赚了
环球时讯:被曝能白嫖付费网页:ChatGPT紧急下线联网模式
打破全球23年魔咒!天兵科技天龙三号大型液体火箭明年首飞:可复用_时讯
环球视讯!谷歌论文展示量子计算机新突破!超算47年任务几秒即可完成
轿车高速路上强行变道被大货撞旋一圈 女子不满处罚:明明是他撞我
[llama懒人包]ChatGPT本地下位替代llama-7b,支持全平台显卡/CPU运行 环球看热讯
灵山卫站派出所110民警帮助乘客归还遗失证件
全新国产芯片设计EDA发布:首发PCIe 5.0、60万兆网络!
日本有孩家庭数首次跌破1000万户:欲加快推进机器人、AI人工智能
曝小米14系列和Redmi Note 13系列手机预装MIUI 15,均配备极窄屏 环球快报
焦点报道:天问一号登陆火星2多年 我国公布科学探测数据:总量超过2TB
全球热点!Magic V2通讯将是行业顶级!荣耀赵明:无需与iPhone比较
前沿资讯!33.5万开卖!网红坦克500出混动了:发布会现场教友商做越野
一次不成功的洞穴救援 天天热闻
轿车跑车SUV应有尽有 比亚迪腾势全新品牌计划曝光 涵盖30-80万共7款车型
当前滚动:Android Launcher apk 授信安装
华为云GaussDB圈层活动走进香港,以技术创新构筑金融政企数智发展基石
基于袋鼠云实时开发平台开发 FlinkSQL 任务的实践探索
一种基于DeltaE(CIE 1976)的找色算法Cuda实现_即时看
世界通讯!复苏中的中国经济怎么看?2023上财宏观论坛在沪举办
韩国最大在野党:IAEA评估报告未验证福岛核污水安全性
天天动态:卖得太火 魅族20 PRO严重缺货!晨曦紫、曙光银今日开启预定
全球快播:9.99万价格屠夫!长安第二代UNI-T尊享型上市:入门就有骁龙8155
每日速读!小憩、露营、洗车模式上线 岚图梦想家发布OTA2.0版本
奔驰变法拉利!男子107万提新车发现竟是翻新车:退一赔三获赔428万_动态焦点
新资讯:盘点10款最美游戏:《最后生还者》《艾尔登法环》等入选
【AI新趋势期刊#2】AI发明计算机算法,如何给大模型排行,照片秒变二维码,视频一键动漫风 速看
焦点热讯:Java异常分类和常见异常
语音直播源码知识分享:探索新的沟通方式-全球微动态
水深火热成语接龙_热字开头的成语
《巨齿鲨2:深渊》最新预告出炉:杰森·斯坦森、吴京大战海底怪兽
双泵水冷力压13900KS 310W功耗!超频三DE360水冷散热器评测:静音水泵也很重要 即时焦点
头条焦点:华裔学者出手!50年零进展算法难题被突破
不顾国内外强烈反对!日本拟最早8月核污水排海|当前观察
环球最资讯丨故宫门票提前7天抢不到 黄牛要价翻6倍!全国博物馆几乎都如此
全球即时看!还分不清bin log 、redo log 跟 undo log?
全球快讯:前端Vue一款基于canvas的精美商品海报生成组件 根据个性化数据生成商品海报图 长按保存图片
世界简讯:突发!俄军一架战机坠毁
【天天速看料】火狐发布115版本更新:支持Win7/8最后版本
天天微资讯!女子半夜拍蚊子走出158步吓坏母亲:通过微信步数了解家人起居
男孩被锁车内父母心疼玻璃不愿砸 路人做好事反被责怪:网友看怒|热资讯
焦点热讯:比亚迪豪掷45亿巴西建三厂:年产15万辆、提供超5000个就业岗位
实时:西安饭庄长安礼记糕点礼盒大促:原价69.9 西安19.9包邮
【天天时快讯】法国总统马克龙:骚乱顶峰已过去 仍需保持警惕
债市开放新消息:离岸国债期货呼之欲出
环球快播:胡昌升会见俞敏洪一行
宁德时代科学家欧洲拿发明大奖!开发带盖的锂电池降低爆炸风险
全球微速讯:中国新能源汽车6月销量达到历史最高水平:比亚迪、特斯拉均创新高
广东一奥迪车嚣张 逆行还竖中指车主已被查处 大快人心
苹果打鸡血 电池激增!消息称iPhone 15系列存储加大 告别128GB 环球快报
《英雄联盟》LPL夏季赛TT战胜EDG:Uzi复出斩获第七次MVP_环球新动态
多省份上调最低工资标准,安徽等15省份第一档月最低工资超2000元 今日热文
在CentOS 7 mini版中使用ifconfig
世界球精选!年内券商债券承销金额超6万亿元 部分中小券商在不同类型债券承销方面展现出优势
医保谈判药品怎么续约?非独家药品如何竞价?国家医保局公开征求意见 环球快看
成都滴滴公司要注销?官方回应:非运营主体 公司一切正常 世界热门
3999元起口碑超稳!小米13官网评价超100万:99.9%好评率 全球新消息
没人买?RTX 4060大降价 降速让人惊叹:英伟达要出手了
杀入BBA腹地 30多万的比亚迪照样卖爆:腾势N7上市24小时大定11687辆
读发布!设计与部署稳定的分布式系统(第2版)笔记19_基础层之设备 环球讯息
俄外交部:目前没有理由延长黑海港口农产品外运协议-天天观点
重制版或将在今年8月公开,R星已找到作者联系
小米“掐架”华为!发起专利无效请求:到底发生了什么? 热门看点
阿里的AIGC数据库工具: Chat2DB的学习与使用
环球消息!国产汽水 凭啥喝不出一家上市企业
环球热头条丨为什么人类尾巴进化掉了?留下来不行吗?中国科学家新发现
四川惊现“蚊卷风” 大量蚊子聚集5米高?想干嘛?
全球报道:本来想用AI来打败AI:结果惨烈翻车
资讯推荐:深圳市监局回应山姆泡面桶被炒至1999元:没有恶意加价
每日速递:古代20岁到100岁的称呼(20岁到70岁在古代分别叫什么)
行使国家立法权的机关是人民代表大会_全国人民代表大会和行使国家立法权
【天天新视野】ons游戏该死的妹子官方(ons游戏该死的妹子)
文心一言 VS 讯飞星火 VS chatgpt (54)-- 算法导论6.2 6题
卖了一个多月后 RTX 4060 Ti太尴尬了:Steam玩家零人购
速看:你买的手机到底是不是正品?这么一查 全清楚了
16针供电口有毒!RTX 4090配90度拐弯电源线后:照烧不误
每日热门:一天吃透操作系统面试八股文
Linux raid-磁盘阵列-raid10搭建 今头条
热议:做个有出息的女姟_做个有出息的女孩
绝地求生大逃杀什么时候出的?绝地求生大逃杀按什么键说话?
藤蔓的拼音是什么?藤蔓的寓意和象征是什么?
身份证号码代表哪些信息?实名认证身份证号码的正确格式是什么?
iPhone 15全系电池容量曝光!续航稳了:只差一步就5000mAh|每日信息
到三份寿司只要12.9元:剩菜盲盒你会去购买吗? 全球要闻
电信手机积分是怎么来的?电信的手机积分怎么兑换话费?
如果的事原唱是谁?如果的事表达的是什么意思?
知名电动自行车品牌Urtopia推出新品 将ChatGPT融入其中
海南三亚一男子偷偷潜入别墅并喝掉主人的6瓶茅台 家政发现并报警
德国著名网红健身博主“拉丝哥”猝死离世 因硬货较多导致粉丝数量破千万