【FreeMarker】【模板文件FTL】模板插值 ${...}
2014-10-24 14:37
330 查看
插值
插值的语法格式:${expression}
expression可以是所有种类的表达式。
插值是用来插入具体值然后转换为文本(字符串)。
插值仅仅可以在两种位置使用:
文本区(如<h1>Hello ${name}!</h1>)
字符串表达式(如<#include "/footer/${company}.html">)
一个常犯的错误是在不能使用插值的地方使用了它。典型的错误就是<#if ${isBig}>Wow!</#if>,这是语法上的错误。只要写为<#if isBig>Wow!</#if>就对了,而且<#if "${isBig}">Wow!</#if>也是错误的,因为这样参数就是字符串类型了,但是if指令的参数要求是布尔值,所以运行时就会发生错误。
插值表达式的结果必须是字符串,数字或日期类型的,因为只有数字和日期类型可以自动转换为字符串类型,其他类型的值(如布尔,序列)只能手动转换为字符串类型,否则就会发生错误导致模板执行中止。
字符串插入
数字插入
如果表达式是数字类型,那么根据数字的默认格式,数值将会转换成字符串。时间/日期插入
如果表达式的值是时间日期类型,那么日期中的数字将会按照默认格式来转换成文本。布尔值插入
若要使用插值方式来打印布尔值会引起错误,中止模板的执行。例如:${a == 2}就会引起错误,它不会打印”true”或其他内容。
然而,我们可以使用内建函数string来将布尔值转换为字符串形式。比如打印变量”married”(假设它是布尔值),那么可以这么来写: ${married?string("yes", "no")}。
相关文章推荐
- 【FreeMarker】【模板文件FTL】模板命名空间(模板库,import指令)
- 【FreeMarker】【模板文件FTL】模板自定义指令 macro
- 【FreeMarker】【模板文件FTL】【参考文档】内建函数
- 【FreeMarker】【模板文件FTL】模板指令/标签 <#> <@>
- 【FreeMarker】【模板文件FTL】模板数据模型,数据类型
- 【FreeMarker】【模板文件FTL】【参考文档】特殊变量
- 记录使用freemarker生成word的模板ftl文件以及word的遍历数据
- 【FreeMarker】【模板文件FTL】模板自定义指令 macro
- 【FreeMarker】【模板文件FTL】【参考文档】保留字
- 【FreeMarker】【模板文件FTL】模板总体结构
- Struts2 FreeMarker FTL 模板文件中调用静态 java 方法
- java freemarker 通过ftl模板文件导出word文件发现在有中文地方出现在乱码,打开word文件提示xml错误解决办法
- eclipse对freemarker模板文件ftl文件安装可视化插件JBoss Application Development
- 【FreeMarker】【模板文件FTL】【参考文档】指令/标签
- 【FreeMarker】【模板文件FTL】模板文件中定义变量
- 【FreeMarker】【模板文件FTL】基础
- 【FreeMarker】【模板文件FTL】模板表达式
- FreeMarker的FTL页面中include引用UTF-8文件导致错位的问题处理
- 使用FreeMarker加载远程主机上模板文件,比如FTP,Hadoop等
- FreeMarer 模板加载,使用FreeMarker加载远程主机上模板文件