当前位置: 首页 > article >正文

SpringBoot整合Freemarker(四)

escape, noescape

语法

<#escape identifier as expression>
  ...
  <#noescape>...</#noescape>
  ...
</#escape>

用例

主要使用在相似的字符串变量输出,比如某一个模块的所有字符串输出都必须是html安全的,这个时候就可以使用,说白了escape 包裹的内容,会被转义比如<>会编程<> 而noescape包裹的字符不会被转义,会被当成html代码执行。

<#escape x as x?html>
  First name: ${firstName}
    <#noescape>Last name: ${lastName}</#noescape>
  Maiden name: ${maidenName}
</#escape>

等同于

  First name: ${firstName?html}
  Last name: ${lastName}
  Maiden name: ${maidenName?html}

assign

语法

<#assign name=value>
<#assign name1=value1 name2=value2 ... nameN=valueN>

<#assign name>
  capture this
</#assign>

<#assign name=value in namespace />

<#assign name in namespace >
  capture this
</#assign>

用例

生成变量,并且给变量赋值

给aaa赋予序列值
<#assign aaa= ["winter", "spring", "summer", "autumn"]>

给变量test加1
<#assign test = test + 1>

 给my namespace 赋予一个变量bgColor,下面可以通过my.bgColor来访问这个变量
<#import "/mylib.ftl" as my>
<#assign bgColor="red" in my>

 将一段输出的文本量保存在x变量里
<#assign x>
  <#list 1..3 as n>
         ${n} <@myMacro />
  </#list>
</#assign>

global

语法

<#global name=value>
<#global name1=value1 name2=value2 ... nameN=valueN>
<#global name>
  capture this
</#global>

全局赋值语法,利用这个语法给变量赋值,那么这个变量在所有的namespace 中是可见的, 如果这个变量被当前的assign 语法覆盖 如  在当前页面里x=2 将被隐藏,或者通过${.globals.x} 来访问

setting

语法

<#setting name=value>
用来设置整个系统的一个环境
locale
number_format
boolean_format
date_format , time_format , datetime_format
time_zone
classic_compatible, 默认值false,改成true  ,${aaa}
用例:将数字的输出格式改为百分比
<#setting number_format="percent"/>
<#setting datetime_format="yyyy-MM-dd HH:mm:ss"/> 

t, lt, rt

--
  1 <#t>
  2<#t>
  3<#lt>
  4
  5<#rt>
  6
--

http://www.kler.cn/a/394729.html

相关文章:

  • 观察者模式和发布-订阅模式有什么异同?它们在哪些情况下会被使用?
  • linux安装字体(亲测)
  • C++ Eigen常见的高级用法 [学习笔记]
  • CloudCompare下载、安装与汉化
  • HTMLCSS:惊!3D 折叠按钮
  • 信创源代码加密的答案:信创沙箱
  • ‘nodemon‘ 不是内部或外部命令,也不是可运行的程序
  • Rollup failed to resolve import “destr“ from ***/node_modules/pinia-plugin-pers
  • Jmeter基础篇(23)TPS和QPS的异同
  • android bootchart安装使用指南
  • PHP Session
  • qt QFrame详解
  • 企望制造ERP drawGrid.action 接口SQL注入漏洞复现 [附POC]
  • 路径规划——RRT-Connect算法
  • Linux编辑/etc/fstab文件不当,不使用快照;进入救援模式
  • 后端一次性返回数据,前端分页
  • Window下PHP安装最新sg11(php5.3-php8.3)
  • BERT的中文问答系统30
  • 【GoWeb示例】通过示例学习 Go 的 Web 编程
  • 星绘AI 0.8.9 | 免费的AI绘画写真滤镜穿搭软件
  • ArkTS学习笔记:ArkTS起步
  • 第12章 系统部署
  • docker里rtsp推流+同一个docker接受流进行部署
  • SpringCloud框架学习(第三部分:Resilience4j 与 Micrometer)
  • css-50 Projects in 50 Days(4)
  • ubuntu升级postgres