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特殊字符的转译


模型预测控制 (MPC, Model Predictive Control) 算法详解及案例分析 模型预测控制是一种基于模型的控制策略,通过在线求解一个有限时域的优化问题,预测系统的未来行为,并根据预测结果调整控制输入,以实现系统的稳定性和性能优化。 阅读详情

相关推荐

ADB详细(从下载安装到灵活运用)

ADB(Android Debug Bridge)是一种允许模拟器或已连接的 Android 设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。可以在Android SDK/platform-tools中找到 adb 工具或下载ADB Kits。

LiuYong_01的博客 10万+

使用freemarker生成pdf遇到的问题

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

xia872409653的专栏 665

【GameFramework框架】7-2、GameFramework框架是否“过度设计”?

框架是否过度设计,这个问题其实我被问到很多次了。不仅仅是新手刚接触就觉得“过度设计”的评价,有些熟练的开发者也会有这种感觉。那么,这篇文章就来探究一下,为什么框架会让人感觉“过度设计”,以及框架如何设计,还有,如何让框架适应自己的节奏。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 2118

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

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

梧桐树的博客 1406

CDD数据库文件制作(三)——服务配置(0x10)

根据诊断调查表进行每一步配置的详细操作,与背后逻辑解释 1.会话切换配置 1.1.根据诊断调查表进行信息提取(0x1001) 1.2.会话转换配置(0x1001) 1.3.根据诊断调查表进行信息提取(0x1002) 1.4.会话转换配置(0x1002) 1.5.根据诊断调查表进行信息提取(0x1003) 1.6.会话转换配置(0x1003) 1.7.会话切换配置完成后效果图 2.安全等级配置信息提取 2.1.安全访问配置(0x1001) 2.2.安全访问配置(0x1002) 2.3.安全访问配置(0x100

LOVE135149的博客 5838

07 Zabbix 微信告警

Zabbix 微信告警 1.注册企业微信 企业微信注册地址:https://work.weixin.qq.com 2.进入企业微信后台管理 2.1 添加微信成员 2.2创建应用 2.3 获取四项数据 (1)AgentID (2) Secret (3) 企业ID (4)部门ID 3.Zabbix Server配置 3.1确认脚本目录 # grep alertscripts /etc/zabbix/zabbix_server....

Jian Sun_的博客 1297

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

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

m0_67916099的博客 288

《从理念到落地:Claude Code 在真实项目中的深度实践指南》基于 Anthropic 团队内部使用经验的扩展与深度解读,一篇面向工程团队的全面实践手册

Claude Code 支持通过# 创建新的 API 端点根据以下输入创建完整的 API 端点:资源名称:$ARGUMENTS请创建以下文件:1. `src/routes/{resource}.routes.ts` - 路由定义2. `src/controllers/{resource}.controller.ts` - 控制器3. `src/services/{resource}.service.ts` - 服务层。

AI天才研究院 482

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

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

weixin_45880844的博客 1949

1、Ka频段双极化低剖面卫通相控阵天线

设计了双馈口叠层十字缝隙耦合天线,采用“双线极化天线 +旋转馈电 + 移相控制”架构,采用双馈口的叠层十字缝隙耦合天线,并以 2 x2 阵列为主体,旋转排布实现二次圆极化,同时极化可切换,通过多层 PCB 工艺实现天线层、控制/电源层功分网终层、芯片层一体化集成,研制出 64 阵元的圆极化可切换发射天线,测试结果表明:天线工作 频段为 27.5 ~31 GHz,可实现60°扫描,法向轴比

qq_43416206的博客 4367

AUTOSAR从入门到精通-【自动驾驶】特斯拉全自动驾驶(FSD)

特斯拉全自动驾驶系统(Full-Self Driving,简称FSD)是特斯拉公司开发的高级驾驶辅助系统,旨在通过神经网络技术实现环境感知与车辆控制,在驾驶员监督下完成导航、转向、变道、泊车等操作。‌ 该系统自2021年发布Beta测试版以来持续迭代,最新版本为2025年10月推出的v14版本。‌FSD v14版本基于端到端神经网络架构,取代了传统代码逻辑,通过数百万视频片段训练模型,以模仿人类驾驶决策。‌ 其功能覆盖住宅区街道、城市道路及高速公路,支持交通信号识别、自动变道和环岛通行等场景。

getusushu的博客 570

Freemarker的基本语法及使用大全

Freemarker常见语法大全和使用

qq_44430410的博客 1万+

基于matlab的主成分分析的人脸二维码识别系统

人脸识别因其在系统安全验证、信用验证、刑侦跟踪、身份管理、视频会议、人机交互、智能家居等方面的巨大应用前景,成为当前模式识别和人工智能领域越来越热门的一个研究方向。随着安全入口控制和二维码智能扫描应用需求的快速增长,基于二维码识别的生物人脸统计识别技术也引起了人们的重视。本案例将详细讲解基于主成分分析的人脸特征提取的原理与方法,并将其与 QR 二维码的编解码进行结合,将 MATLAB 作为工具平台,调用 QR 二维码编解码应用程序,进而实现一个人脸二维码自动识别的系统原型。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 977

FreeMarker的基本语法

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

mengameng97的博客 1928

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Freemarker基本语法与案例讲解

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

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

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Freemarker基本语法

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

m0_61898915的博客 3204

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

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、付费专栏及课程。

余额充值