freemarker文档,freemarker ftl

  freemarker文档,freemarker ftl

  快速start.html freemarker.Apache.org/docs/dgui 3359号

  文本文本

  ${.}:插值,括号中的表达式值表示输出interpolations,例如${和}(或#{和}).

  33558 www .新浪。com/(freemarkertemplatlanguagetags):FreeMarke模板语言标记与超文本标记语言标记类似,但适用于自由创造者,网页上显示了标记以#/@开头。 (用户定义的联邦长途电信实验室(Federal Telecommunications Laboratory)标签使用@,

  FTL tags注释,# -还有- -在网源代码中看不到。因为原理分析跳过了他们。

  联邦长途电信实验室(Federal Telecommunications Laboratory)标签、插值和注释以外的内容被视为静态文本。在网页上直接输出。

  数据类型基本表示

  原理分析的基本语法# .包含所有原理分析的内容,所有其他内容保持原样输出。

  @ ./是函数调用

  Comments:

  方法与函数的区别:方法来源于数据模型(Java对象的方法), 函数是模板中定义的,二者使用方式是相同的。

  自定义函数:

  无参的

  带参数的

  数据类型

  两个分隔符中的第一个符号表示指令或函数的名称,并遵循后面的参数免费者。提供的控件如下。

  #如果条件#否则如果条件# else/# if条件判断

  #list hash_or_seq as var/#list遍历混杂表或收藏(Freemaker称为序列)中的成员

  # macroname param1param2 .#嵌套参数/#宏宏,无返回参数

  #函数名param1param2# returnval/#函数函数,有返回参数

  var?成员_函数,通过函数转换var,freemaker称为内置设备。实际的内部实现类似于成员函数(变量)

  斯特林加获取子字符串,如substring(stringa,m,n)

  {key:value,key 23360 value2 .}直接定义散列表

  直接定义[项目0,项目1,项目2。]序列

  哈希0[key0]访问与混杂表中的键相对应的元素

  seq0[5]访问序列指定下标的要素

  @函数1 param0 param1/调用函数功能一

  @ macro 0 param 0 param 1 nest _ param 0 nest _ param 1 .nest _ body/@宏调用宏并处理宏嵌套

  定义并初始化#赋值变量=值变量

  用#localvar=valuemacro或功能定义局部变量并初始化

  #全局var=值定义并初始化全局变量

  将输出${var},并替换为表达式中的值

  #访问节点调用巨与节点自身及其子节点匹配

  #递归节点调用巨以匹配节点的子节点

  命令:指令,FTL标记格式如果如果语句选择性跳转。例如,不同的人打不同的招呼。

  超文本标记语言

  头儿

  标题欢迎!/标题

  /头

  身体

  氕欢迎$ { user } http://www.Sina.com/,我们敬爱的领袖3358 www。Sina.com/!

  /h1

  倒入最新产品:a rel= external no follow href= $ {最新产品。URL }“$ {最新产品。name }/a!

  /body

  /html

  当用户字符串等于大的美丽的钢笔时,打招呼为:"我们敬爱的领袖"。

  如果条件语句返回值为假的,则跳过。

  若价格值为0,打印输出为"蟒蛇今天自由了!"

  #if animals.python.price==0蟒蛇今天免费!/#如果标签#else#elseif使用逻辑结构与爪哇岛相同。举例:

  #如果动物。python。给动物定价。大象。价格如今蟒蛇比大象还便宜。#否则今天蟒蛇不比大象便宜。/#如果

  #如果动物。python。给动物定价。大象。价格如今蟒蛇比大象还便宜.否则如果动物。大象。给动物定价。python。价格如今大象比蟒蛇便宜。#今天大象和蟒蛇的价格一样。/#如果如果标签内直接使用一个有对/错返回值的条件语句,也可以直接使用

  #if animals.python.protected蟒蛇是受保护动物!/#如果列表列表标签用于列举

  我们有这些动物:表格边框=1 #将动物列为动物trtd $ { animal。name } TD $ { animal。价格}欧元/#列表/表格输出为:所有动物:老鼠,大象,蟒蛇

  我们有这些动物:表格边框=1 trtdmousetd50欧元TRT电话td5000欧元trtdpythontd4999欧元/桌以上表格输出,转化为列表:

  #将序列作为循环变量列出

  重复这个

  /#列表。

  每当有序列,重复这个部分重复输出,序列可以为任何表达式。

  ul #将其他水果列为水果li${fruit}/#list/ul

  上面例子的问题:当水果为0时,仍会输出空ul/ul .下面的方法可以避免此类情况的发生。

  #将杂项水果ul #个项目列为水果李$ {水果}/#个项目/ul/#个列表项目存在时输出,否则就跳过,不做任何操作

  另一种常见的方式,可以实现输出内容的空格控制。

  水果:#将杂项水果列为水果$ { fruit } # sep,/#list水果:橙子,香蕉0个水果。只打印水果:。目录可以像如果语句一样执行否则,当水果为0时,执行:

  水果:#将杂项水果列为水果$ { fruit } # sep,#elseNone/#listNote:

  事实上,这个简单的例子可以写成这样,但是它使用了与这里的主题不相干的语言工具:

  水果:$ {水果?加入(,,无)}所有这些指令(列表、项目、sep、else)都可以一起使用:

  #列出杂项水果pFruits:ul #项作为水果Li $ { fruit } # sep和/# sep/# items/ul #其他我们没有水果。/#列表

  包括插入其他文件的内容到当前模板中。

  假设你要在多个也主要的显示相同的版权。可以单独创建版权文件,在其他地方插入该文件。首先,保存文件为:copyright_footer.html

  hri版权所有(c)2000 a rel=外部禁止跟随 href= http://www。AC mee。com AC mee Inc/a,保留所有权利100/I

  zxdsb需要使用该文件时:html标题测试测试页/标题/头体h1测试页/h1 pBlah blah.# include /copyright _ footer。html /body/html

  同时使用多个#按动物分类列出动物#如果是动物。protected class= protected /# if $ { animal。姓名},价格为${animal.price}欧元/div/#list

  处理缺失变量变量不存在或者为空,指定默认值${vira_name!默认值}

  氕欢迎$ {用户!访问者 }!/h1使用双问号判断缺失值?

  #如果用户?氕欢迎${user}!/h1/#如果转义HTML,XML和其他标记模板生成HTML .建议的做法是使用ftlh文件扩展名来激活超文本标记语言自动转义,使用ftlx文件扩展名来激活可扩展置标语言自动转换。你可以尝试自动转义,如$ {""},然后检查原始输出(对于超文本标记语言或可扩展置标语言转义)。如果不是,并且配置不会被调整,请将其添加为模板的第一行:

  #ftl output_format=HTML 插值形如:${expression},表达式可以是任何形式(例如${100 x}).

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: