Freemarker学习笔记二—基本语法

FreeMarker 语法全面详解 FreeMarker 是一种功能强大的模板引擎,其语法简洁且灵活。本文从基础到高级全面解析了 FreeMarker 的语法体系,涵盖静态文本、FTL 标签和插值等基础语法结构,并详细介绍了注释语法。插值部分讲解了基本插值、操作符及其优先级,以及特殊变量的使用。指令部分则深入探讨了条件判断、循环、变量定义、模板包含、宏和函数等常用指令,通过大量示例展示了如何在实际应用中灵活运用这些功能。无论是初学者还是有经验的开发者,都能从中获得实用的技巧和深入的理解。 阅读详情

Freemarker基本语法

1Freemarker 标记

FreeMarker标记的设计非常精炼,只有三种:
1) $ : ${expression}FreeMarker会在输出时用实际值进行替代

       例如:${stockNum?default(‘’)}

2) # :标准的FTL标记。大部分FreeMarker指令都以#开始,可以明显地与html标记区分,
<#if user ="BigJoe">our beloved leader</#if>。
同时,FTL文件的注释包含在<#--和-->(而不是<!--和-->)之间 
3) @作为用户定义指令使用宏变量时,使用@替代FTL标记中的#。后面将详细介绍宏


2FTL标记指令
1) if, else, elseif
语法
<#if condition>

  ...

<#elseifcondition2>

  ...

<#else>

    ...

 </#if>


用例

、
2) switch, case, default, break

<#switchbeing.size>

   <#case "small">

       This will be processed if it is small

       <#break>

    <#case "medium">

      This will be processed if it ismedium 

     <#break>

    <#case "large">

       This will be processed if it is large

       <#break>

  <#default>

      This will be processed if it is neither

  </#switch>

用例:


3) list, break

<#listsequence as item>

  ...x

     <#if item="spring"><#break></#if>...

</#list>

关键字item_index:是list当前值的下标item_has_next:判断list是否还有值 

例子:





mmer, 4. autumn  


4) include
¡语法:
<#include filename>

用例:







在这里会存在一个问题,如果有两个被引用的文件,他们都有相同的变量名那么如果此时引用了具有相同变量名的文件他们其中一个会被替换;



、

这里可以发现12被100 覆盖了,所以为了解决这类问题就要用到import



5) Import
语法:
<#import path as 别名>






6) assign
生成变量,并且给变量赋值
<#assign 变量名=值>



7) macro (宏)相当于java中的方法 也就是说把需要重复执行的代码放入其中 然后进行调用即可


8特殊字符的转译


别再只会画方块了!Cesium 1.62 实战:用 Polygon、Ellipse 和 PolylineVolume 玩转复杂地理围栏与3D管道 本文深入探讨了Cesium 1.62在复杂地理围栏与3D管道开发中的高级应用,通过Polygon、Ellipse和PolylineVolume等API实现不规则禁飞区建模、椭圆围栏设计及地下管线可视化。文章结合实战代码,详细解析了性能优化技巧和工程实践,帮助开发者突破基础图形绘制局限,构建真实业务场景中的三维空间系统。 阅读详情

相关推荐

异步bus交互(一)— 两级DFF同步器

异步bus交互(一)— 两级DFF同步器 跨时钟域处理 & 亚稳态处理 1.问题产生 现在的芯片(比如SOC,片上系统)集成度和复杂度越来越高,通常一颗芯片上会有许多不同的信号工作在不同的时钟频率下。比如SOC芯片中的CPU通常会工作在一个频率上,总线信号(比如DRAM BUS)会工作在另一个时钟频率下,而普通的信号又会工作在另外的时钟频率下。这3个不同时钟频率下工作的信号往往需要相互沟通和传递信号。 不同时钟域下的信号传递就涉及到跨时钟域信号处理,因为相互之间的频率、相位不一样,如果不做处理或者

qq_44816673的博客 5119

使用freemarker生成pdf遇到的问题

【代码】使用freemarker生成pdf遇到的问题。

xia872409653的专栏 665

保姆级教程:用GMT6.1绘制专业地形起伏图(从数据下载到出图避坑)

本文提供了一份详细的GMT6.1绘制地形起伏图的保姆级教程,从环境搭建到数据下载,再到核心绘图命令解析,帮助用户避开常见错误。特别适合科研人员和地理信息爱好者快速掌握专业地形图的绘制技巧,提升工作效率。

weixin_42549723的博客 276

FreeMark生成pdf的升级----------使用“动态“模板

在之前的一篇文章中写到过使用FreeMark生成pdf的案例,但是之前的写法使用的都是静态模板,今天我们来给它升级一下

梧桐树的博客 1406

遗传病变异注释预测工具安装系列之------Exomiser 安装及bug处理

Exomiser是一个Java程序,它从全外显子组或全基因组测序数据中发现潜在的致病变异。 Java 版本必须为1.8以上。 Exomiser 最新版本下载 wget -c https://github.com/exomiser/Exomiser/releases/download/11.0.0/exomiser-cli-11.0.0-distribution.zip unzip ...

qq_37329349的博客 1535

C++之2048小游戏 第二期

游戏会有初始化、绘制界面、处理输入、更新游戏状态、判断胜负等部分。所以,可能需要一个二维数组来表示4x4的网格,存储每个格子的数值。然后,需要处理键盘输入,尤其是方向键的控制,这可能需要使用EasyX的键盘事件处理函数。然后,关于图形绘制部分,每个格子的大小、颜色、数字的显示都需要设计。不同的数字对应不同的颜色,比如2是浅色,4稍深,以此类推。可能需要一个函数根据数字的值返回对应的颜色,然后在绘制时调用。接下来,处理数字的移动和合并逻辑。这是比较复杂的部分。

Lucky_Glory的博客 805

错误笔记_02 关于freemarker前端页面不能用的问题

另外提醒一点,在springboot中,html文件放在static文件夹中,而ftl文件放在templates文件夹中。又是一个很简单的错误,freemarker不能再html文件内写,只能在ftl文件中写!

m0_67916099的博客 288

倍福CX9020(WINCE 7)控制器使用方法和操作

CX9020系列是倍福控制器中较为经济的,操作系统为Windows Embedded Compact 7(简称WINCE7或WINEC7),相对高端控制器(WINES7以上系统),操作系统古老而简洁,上位机软件的编写困难很多,本文是笔者在使用过程中摸索的流程,旨在为CX9020系列的新用户提供参考,也可供其他CE系统的控制器参考。本文中大部分截图采用倍福中国的培训文档,这是由于笔者是在流程走通后再写这篇文章,不想再恢复出厂设置走一遍截图。因笔者在写这篇文章时使用倍福控制器经验并不丰富,难免有纰漏,请读者批评

weixin_41883890的博客 4287

freemarker:在div里借用if设置字体颜色

<#if>< /#if>标签事情的起因遇到点麻烦再次遇到问题前端报错信息eclipse报错信息detail.ftl文件前端的效果后来的思考 事情的起因 最近的大作业里面,考虑到基金产品有两个属性——日增长率和日增长值,因为他们是有正负分的,所以就想着写个判断,大于零就红色,小于零就绿色: 遇到点麻烦 本来就写个判断就好了,可是好巧不巧entity里面我设置的是两个string类型,如下: 本来也是考虑过要不就把实体再重新设计一下,但是因为表早就生成了,这样一改就会出现数据不对等的问

weixin_45880844的博客 1949

Transformer实战(38)——视觉Transformer (Vision Transformer, ViT)

Transformer 在自然语言处理 (NLP) 领域取得了显著成就,在许多不同的任务中都表现出色。在本节中,我们将探索视觉 Transformer (Vision Transformer, ViT) 模型。正如 NLP 领域创建了多种模型一样,视觉领域也开发了多种模型,每种模型都为计算机视觉提供了新的视角。通过本节,将学习如何使用 ViT 等模型进行计算机视觉任务,了解基于 Transformer 的预训练计算机视觉模型的工作原理,以及如何针对特定任务进行微调。

盼小辉丶的博客 2843

从业务角色到工作台:一步步创建 SAP Fiori Launchpad Space 与 Page

SAP S/4HANA Launchpad 配置优化指南:从业务角色出发构建高效工作台 本文针对S/4HANA项目中用户普遍反映的"入口难找"问题,提出基于Spaces和Pages的系统化解决方案。通过"以工作岗位为中心"的设计理念,将Launchpad信息架构重构为:一个业务角色对应一个Space,每个Space包含1-5个Page,Page内按任务划分2-5个Section,每个Section放置3-7个Tiles。文章详细阐述了从Business Role入手配

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 224

Freemarker的基本语法及使用大全

Freemarker常见语法大全和使用

qq_44430410的博客 1万+

[QMT量化交易小白入门]-四十九、中小盘策略是否还有未来,市值再平衡策略,年化收益率124%

该策略旨在通过定期再平衡持仓,保持投资组合中股票数量恒定(),并优先持有市值较小的股票。具体来说,策略每两天(period = 2)进行一次再平衡,根据当前市值对持仓进行调整,以实现微盘股的投资目标。中小市值策略对资金量要求有限制,资金量太大由于流动性不足,滑点可能较大,资金量太小,可能不能达到10-20只持仓,来分散风险,10-100w可能是比较理想的,后续可以根据波动率动态调仓,或波动率大于一定值时触发再平衡加入ROE或其他财务指标,或者研发投入强度大的专精特新企业,进行组合优化。

木头大左的博客 1184

FreeMarker的基本语法

新的项目需要用到freemarker模版引擎,在这里总结和记录一下基本语法。

mengameng97的博客 1928

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Freemarker基本语法与案例讲解

Freemarker是一个Java模板引擎,用于生成动态的网页、电子邮件、XML文档、JSON等内容。它基于模板和数据模型,将数据与模板进行结合。

万维网连五洲,二进制写尽天下事,喜欢结识新伙伴寻找志同道合的朋友,欢迎一起探讨学习 5570

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Freemarker基本语法

总结来说,要使用Freemarker生成静态文件,你可以使用Java程序调用Freemarker进行渲染并输出到文件,或者结合静态网站生成器进行生成。1.使用Java程序调用Freemarker:你可以编写一个Java程序,使用Freemarker来渲染模板,并将渲染结果输出到文件。需要注意的是,指令的结束标签是必须的,在循环体内部的内容将被迭代多次。除了内建函数,Freemarker还支持自定义函数,可以在模板中使用自己定义的函数来进行特定的处理。操作符来连续访问键。

m0_61898915的博客 3204

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Freemarker 学习笔记 《基本语法》

基本语法 ${变量名} 这样就能解析出来,和EL一样不知道是否巧合。 参考资料 FreeMarker在线手册 Freemarker 语法入门 FreeMarker 快速入门 《FreeMarker教程-笔录》 ...

灵台方寸山斜月三星洞 681

freemarker的基本语法

freemarker的基本语法及入门基础 一、freemarker模板文件(*.ftl)的基本组成部分 1. 文本:直接输出的内容部分 2. 注释:不会输出的内容,格式为<#-- 注释内容 --> 3. 取值(插值):代替输出数据模型的部分,格式为${数据模型}或#{数据模型} 4. ftl指令:Freemarker指令,类似于HTML标记。 内建指令:开始标签:<#dire...

ThatsThePrice的博客 1191

freemarker基本语法

1.什么是freemarker FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。 目前企业中:主要用Freemarker做静态页面或是页面展示.。 2.基本语句 2.1基本类型 ...

qq_38815856的博客 299

Spring Boot中的Freemarker基本语法

FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。 模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备数...

zhouym_的博客 1774

FreeMarker三:FreeMarker基本语法:取值

此处待叙述: 目录 一:FreeMarker:取值 (1)输出一个不存在的值:!默认值 (2)时间的输出:时间需要?string格式化输出 (3)数字的格式化输出 (4)freemarker注释方式:<#-- FreeMarker的注释 --> (5)freemarker也可以获取JavaBean对象: 一:FreeMarker:取值 FTL文件中如何取值 (1)输出一个不存在的值:!默认值 应该怎么做? (2)时间的输出:时间需要?string格式化输出

小枯林的博客 4203

FreeMarker四:FreeMarker基本语法:分支判断

接上篇博客: 目录 一:if分支判断 (1)基本范例 (2)??判断对象是否为空;true:不为空;false:为空 (3)Freemarker中判断字符串是否相等使用“==” 二:switch分支判断 判断分支 一:if分支判断 (1)基本范例 (2)??判断对象是否为空;true:不为空;false:为空 解决办法:输出的时候判断一下: (3)Freemarker中判断字符串是否相等使用“==” Java中判断字符串是否相等,使用equals()方法;而Free

小枯林的博客 3704

freemarker的基本语法(二)

第一步:Freemarker环境搭建 创建FMDemo类 //第一步:实例化Freemarker的配置类 Configuration conf = new Configuration(); //第二步:给配置类设置路径    String dir = "C:\\Users\\lx\\workspaces-new\\freemarker\\ftl\\"; conf.setDirect

IT程序员的成长记 551

SSM集成FreeMarker以及常用语法

文章目录一、前言二、FreeMarker简介三、SSM集成FreeMarker基本配置FTL指令常用标签及语法———————————- 基础语法 ———————————-1、字符输出2,日期输出3,数字输出(以数字20为例)4,申明变量5,比较运算算符6,算术运算符7,逻辑运算符8,FreeMarker中的运算符优先级如下(由高到低排列):9,if逻辑判断(注意:elseif不加空格)10、switch (条件可为数字,可为字符串)11、集合 & 循环12、Map对象13、FreeMarker支持如

qq_45660133的博客 967

Freemarker基本语法 及与 SpringMVC、Springboot集成的基本操作

Freemarker简介与语法 Apache FreeMarker™是一个模板引擎:一个Java库,用于根据模板和更改数据生成文本输出(HTML网页,电子邮件,配置文件,源代码等)。模板是用FreeMarker模板语言(FTL)编写的,这是一种简单的专用语言(不像PHP这样的完整编程语言)。通常,使用通用编程语言(如Java)来准备数据(发布数据库查询,进行业务计算)。然后,Apache Free...

XiaoxBai__的博客 874
上一篇: Freemarker 学习笔记一Freemarker 的介绍以及创建步骤
下一篇: Freemarker
白马非马啊
博客等级 码龄10年 13粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值