FreeMarker模板文件的组成(2)

摘要:
当客户端访问页面时,FreeMarker要发送HTML代码至客户端浏览器端显示。如果想要页面动起来,就要在HTML中放置能被FreeMarker所解析的特殊部分。

1.FreeMarker模板文件主要由如下4个部分组成:
1.1文本:直接输出的部分
1.2注释:<#-- ... -->格式部分,不会输出
1.3插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出
1.4FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出

2.概要介绍四部分

最简单的模板是普通HTML文件(或者是其他任何文本文件—FreeMarker本身不属于HTML)。当客户端访问页面时,FreeMarker要发送HTML代码至客户端浏览器端显示。如果想要页面动起来,就要在HTML中放置能被FreeMarker所解析的特殊部分。

2.1 ${}FreeMarker将会输出真实的值来替换花括号内的表达式,这样的表达式被称为interpolations插值.(EL表达式语法)

2.2 FTLtags标签(FreeMarker模板的语言标签):FTL标签和HTML标签有一点相似,但是它们是FreeMarker的指令而且是不会直接输出出来的东西。这些标签的使用一般以符号#开头。(用户自定义的FTL标签使用@符号来代替#

2.3 Comments注释:FreeMarker的注释和HTML的注释相似,但是它用<#---->来分隔的。任何介于这两个分隔符(包含分隔符本身)之间内容会被FreeMarker忽略,就不会输出出来了。

2.4 其他任何不是FTL标签,插值或注释的内容将被视为静态文本,这些东西就不会被FreeMarker所解析,会被按照原样输出出来。

备注:

directives指令:就是所指的FTL标签。这些指令在HTML的标签(如<table></table>)和HTML元素(如table元素)中的关系是相同的。(如果现在你还不能区分它们,那么把“FTL标签”和“指令”看做是同义词即可。)

3.FreeMarker模板的例子

<html><br> 
<head><br> 
<title>Welcome!</title><br> 
</head><br> 
<body><br> 
<#-- 注释部分 --><br> 
<#-- 下面使用插值 --> 
<h1>Welcome ${user} !</h1><br> 
<p>We have these animals:<br> 
<u1><br> 
<#-- 使用FTL指令 --> 
<#list animals as being><br> 
   <li>${being.name} for ${being.price} Euros<br> 
<#list><br> 
<u1><br> 
</body><br> 
</html> 

免责声明:文章转载自《FreeMarker模板文件的组成(2)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇springBoot读取properties文件乱码python自然语言处理(一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

.ftl文件 是什么文件 freemarker

freemarker的文件一般以后缀ftl,ftl文件的头上要写 <#assign ww=JspTaglibs["/WEB-INF/webwork.tld"] /> 这样才能在ftl中使用webwork的tag。 freemarker确实是不错的模版语言引擎,尤其是处理对象图很方便,处理xml也很方便,还支持xpath 什么是FreeMarker...

Freemarker常用技巧(二)

1 list、break指令<#list sequence as item>  ...</#list>tem_index:当前变量的索引值.item_has_next:是否存在下一个对象.<#list ["星期一","星期二","星期三","星期四","星期五","星期六"] as x>${x_index + 1}.${...

反射+枚举+freemarker,自动生成实体类,自动建表建索引(二)之建表建索引,注解和DatabaseMetaData 获取信息

接上一篇博文 反射+枚举+freemarker,自动生成实体类,自动建表建索引(一)之生成实体类,枚举详解,这篇博文介绍自动建表。 用反射+枚举+freemarker,自己实现的自动生成实体类和自动建立数据表建索引。用enum枚举作为数据表的配置文件,1个枚举就是1张表,根据枚举类,自动生成实体类,和自动建表建索引。 主要步骤和 上一篇博文差不多,就是...

Freemarker常用技巧(一)

1 截取字符串有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度<#if title.content?length lt 8>           <a href>${title.content?default("")}</a>      <#else>    ...

SpringBoot自动化配置之一:SpringBoot内部的一些自动化配置入门介绍

springboot用来简化Spring框架带来的大量XML配置以及复杂的依赖管理,让开发人员可以更加关注业务逻辑的开发。 比如不使用springboot而使用SpringMVC作为web框架进行开发的时候,需要配置相关的SpringMVC配置以及对应的依赖,比较繁琐;而使用springboot的话只需要以下短短的几行代码就可以使用SpringMVC,可谓...

FreeMarker include指令(3.3)

可以使用include指令在模板中插入另外一个FreeMarker模板文件。 语法: <#include path/> or <#include path options /> 说明: path:要包含文件的路径。可以使用相对路径和绝对路径。通常使用/(斜杠)来分割路径成分。 支持的options有: encoding:算作是...