`
流浪鱼
  • 浏览: 1682115 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

内置函数

 
阅读更多

1.hashmap

内建函数values和keys来枚举哈希表中的子变量

1.1keys 键的集合

<#assign h = {"name":"mouse", "price":50}>
<#assign keys = h?keys>
<#list keys as key>${key} = ${h[key]}; </#list>

 1.2values值的集合

2.new

使用内建函数new将指令放到一个FTL库

 

<#assign upper = "com.example.UpperDirective"?new()>
3 处理字符串的内建函数

 

3.1 substring 取子串

exp?substring(from, toExclusive),也可以作为exp?substring(from)调用

3.2 cap_first 首字母大写

 

${" green mouse"?cap_first}
${"GreEN mouse"?cap_first}

 

3.3uncap_first 首字母小写

3.4capitalize 首字母大写

字符串的所有单词首字母都大写

 

${" green mouse"?capitalize}
${"GreEN mouse"?capitalize}
 3.5chop_linebreak 切断换行符

 

如果在末尾没有换行符的字符串,那么可以换行,否则不改变字符串

3.6date,time,datetime 日期,时间,时间日期

 

<#assign test1 = "10/25/1995"?date("MM/dd/yyyy")>
<#assign test2 = "15:05:30"?time("HH:mm:ss")>
<#assign test3 = "1995-10-25 03:05 PM"?datetime("yyyy-MM-dd hh:mm a")>
${test1}
${test2}
${test3}
3.7ends_with 以…结尾 

 

返回是否这个字符串以指定的子串结尾。比如"redhead"?ends_with("head")返回布尔值true。而且"head"?ends_with("head")也返回true。

3.8html HTML格式的转义文本

 

<input type=text name=user value="${user?html}">
3.9index_of 索引所在位置

 

3.10j_string Java语言规则的字符串转义

 

<#assign beanName = 'The "foo" bean.'>
String BEAN_NAME = "${beanName?j_string}";

 

3.11js_string JavaScript语言规则的字符串转义 

 

<#assign user = "Big Joe's \"right hand\"">
<script>
alert("Welcome ${user?js_string}!");
</script>
 3.12json_string JSON规则的字符串转义

 

3.13last_index_of 最后的索引所在位置

3.14length 字符串长度

3.15lower_case 小写形式

3.16left_pad 距左边

如果它仅仅用1个参数,那么它将在字符串的开始插入空白,直到整个串的长度达到参数指定的值。如果字符串的长度达到指定数值或者比指定的长度还长,那么就什么都不做了。

 

<#if "fxo"?matches("f.?o")>Matches.<#else>Does not match.</#if>
 如果使用了两个参数,那么第一个参数表示的含义和你使用一个参数时的相同,第二个参数指定用什么东西来代替空白字符

 

 

[${""?left_pad(5, "-")}]
[${"a"?left_pad(5, "-")}]
 3.17right_pad 距右边

 

3.18contains 包含

如果函数中的参数可以作为源字符串的子串,那么返回true

 

<#if "piceous"?contains("ice")>It contains "ice"</#if>
 3.19matches 匹配

 

3.20number 数字格式

字符串转化为数字格式。这个数字必须是你在FTL中直接指定数值的格式。也就是说,它必须以本地独立的形式出现,小数的分隔符就是一个点。此外这个函数认识科学记数法。(比如"1.23E6","1.5e-8")。

如果这恶搞字符串不在恰当的格式,那么在你尝试访问这个函数时,错误会抛出并中止模板的处理。

3.21replace 替换

在源字符串中,用另外一个字符穿来替换原字符串中出现它的部分。它不处理词的边界。

 

${"this is a car acarus"?replace("car", "bulldozer")}
 3.22rtf 富文本

 

字符串作为富文本(RTF 文本),也就是说,下列字符串:

 \替换为\\

 {替换为\{

 }替换为\}

3.23url URL转义

在URL之后的字符串进行转义。这意味着,所有非US-ASCII的字符和保留的URL字符

${"this is a car acarus"?replace("car", "bulldozer")}

this is a bulldozer abulldozerus

${"aaaaa"?replace("aaa", "X")}

Xaa

将会被%XX形式来转义。例如:

3.24split 分割

它被用来根据另外一个字符串的出现将原字符串分割成字符串序列

3.25starts_with 以…开头

3.26trim 修整字符串

去掉字符串首尾的空格

3.27upper_case 大写形式

3.28xhtml XHTML格式

字符串作为XML格式文本输出,下面这些:

 <替换为&lt;

 >替换为&gt;

 &替换为&amp;

 "替换为&quot;

 '替换为&apos;

4.处理数字内建函数

4.1string(当用作是数值类型时) 数字转字符串

 

<#assign x=42>
${x}
${x?string} <#-- the same as ${x} -->
${x?string.number}
${x?string.currency}
${x?string.percent}
${x?string.computer}
 4.2round,floor,ceiling 数字的舍入处理

 

5.处理日期的内建函数

5.1string(当用作日期值时)日期转字符串

 

${openingTime?string.short}
${openingTime?string.medium}
${openingTime?string.long}
${openingTime?string.full}
 5.2date,time,datetime (当使用日期值时)

 

这些内建函数用来指定日期变量中的哪些部分被使用:

 date:仅仅年,月和日的部分被使用。

 ime:仅仅时,分,秒和毫秒的部分被使用。

 datetime:日期和时间量部分都使用

6.处理布尔值的内建函数

以foo?string:这样会使用代表true和false值的默认字符串来转换布尔值为字符串。默认情况,true被翻译为"true",而false被翻译为"false"

7.处理序列的内建函数

7.1 first 第一个子变量

序列的第一个子变量。如果序列为空,那么模板处理将会中止。

7.2 last 最后一个子变量

序列的最后一个子变量。如果序列为空,那么模板处理将会中止。

7.3seq_contanis 序列包含…

seq_前缀在这个内建函数中是需要的,用来和contains区分开。contains函数用来在字符串中查找子串(因为变量可以同时当作字符串和序列)。

辨别序列中是否包含指定值。它包含一个参数,就是来查找的值。

 

<#assign x = ["red", 16, "blue", "cyan"]>
"blue": ${x?seq_contains("blue")?string("yes", "no")}
"yellow": ${x?seq_contains("yellow")?string("yes", "no")}
16: ${x?seq_contains(16)?string("yes", "no")}
"16": ${x?seq_contains("16")?string("yes", "no")}
 7.4seq_index_of 第一次出现…时的位置

 

seq_前缀在这个内建函数中是需要的,用来和index_of区分开。index_of函数用来在字符串中查找子串(因为变量可以同时当作字符串和序列)。

返回序列中第一次出现该值时的索引位置,如果序列不包含指定的值时返回-1

 

<#assign colors = ["red", "green", "blue"]>
${colors?seq_index_of("blue")}
${colors?seq_index_of("red")}
${colors?seq_index_of("purple")}
 搜索开始的地方可以由第二个可选的参数来确定。如果在同一个序列中相同的项可以多次出现时,这是很有用的。第二个参数的数值没有什么限制:如果它是负数,那么就和它是零的效果一样,而如果它是比序列长度还大的数,那么就和它是序列长度值的效果一样。小数值会被切成整数。
7.5seq_last_index_of 最后一次出现..的位置
7.6reverse 反转序列
7.7size 序列大小
7.8sort 排序
<#assign ls = ["whale", "Barbara", "zeppelin", "aardvark", "beetroot"]?sort>
<#list ls as i>${i} </#list>
 8.eval 求值
这个函数求一个作为FTL表达式的字符串的值。比如"1+2"?eval返回数字3。
9.has_content 是否有内容
如果变量(不是Java的null)存在而且不是“空”就返回true,否则返回false
10.is_... 判断函数族
is_string
字符串
is_number
数字
is_boolean
布尔值
is_date
日期(所有类型:仅日期,仅时间和时间日期)
is_method
方法
is_transform
变换
is_macro
is_hash
哈希表
is_hash_ex
扩展的哈希表(也就是支持?keys和?values)
is_sequence
序列
is_collection
集合
is_enumerable
序列或集合
is_indexable
序列
is_directive
指令的类型(比如宏,或TemplateDirectiveModel,TemplateTransformModel等)
is_node
节点
分享到:
评论

相关推荐

    MATLAB.rar_MATLAB内置函数_matlab 内置函数_matlab函数大全

    它拥有丰富的内置函数,使得用户能够高效地进行数值计算、符号运算、数据可视化和编程。本资源"MATLAB.rar"包含了MATLAB的内置函数大全,是学习和使用MATLAB的重要参考资料。 在MATLAB中,内置函数分为多种类型,...

    最新HLSL内置函数

    最新版本的HLSL内置函数列表在微软官方文档中有详细描述,并且随着DirectX版本的更新,不断地增加新的内置函数。 在HLSL中,一些常见的内置函数有: 1. 数学函数:如`abs`(绝对值)、`acos`(反余弦)、`asin`...

    form builder内置函数说明

    ### Form Builder 内置函数详解 #### 一、概述 Form Builder是一款强大的工具,用于创建复杂的用户界面和数据处理逻辑。内置函数则是Form Builder提供的预设功能,它们可以帮助开发人员轻松实现各种业务逻辑和交互...

    freemarker_常用内置函数

    Freemarker 常用内置函数 Freemarker 是一个基于 Java 的模板引擎,它提供了一些非常有用的内置函数,可以帮助我们快速开发和生成动态内容。在本文中,我们将详细介绍 Freemarker 的一些常用内置函数。 Sequence ...

    comsol内置函数[定义].pdf

    COMSOL内置函数定义.pdf COMSOL是一个功能强大的有限元分析软件,提供了多种内置函数来帮助用户实现复杂的模拟和分析。本文档总结了COMSOL内置函数的定义和使用方法,涵盖了微分算符、导数计算、边界处理、弱形式、...

    TIPTOP内置函数(共享)

    TIPTOP是一个旧版的软件系统,其内部包含了一系列的内置函数,这些函数在T100版本中被广泛使用。下面将详细解释这些函数的功能和用法。 1. **cl_about**: 这个函数用于获取程序的信息,没有传入参数,也不返回任何...

    SparkSQL内置函数.pdf

    Spark SQL 内置函数列表 Spark SQL 内置函数列表是 Spark SQL 中的一组预定义函数,用于对数据进行处理和分析。这些函数可以在 SQL 语句中使用,以便对数据进行计算、转换和处理。本文将详细介绍 Spark SQL 内置...

    C、C++基本内置函数

    它们提供了丰富的内置函数库,使得程序员能够高效地处理各种任务。本文将深入探讨C和C++的基本内置函数,包括其用途、用法以及在实际编程中的应用。 一、C语言内置函数 1. 输入/输出函数: - `printf` 和 `scanf`...

    Oracle内置函数大全

    Oracle内置函数是数据库管理系统Oracle 8i中的一个重要组成部分,这些函数极大地丰富了SQL查询和数据处理的能力。在Oracle中,日期格式和数字格式的说明符是处理数据的关键工具,它们决定了如何显示和解析日期和数字...

    EBS Form内置函数说明

    本文档将深入探讨其中所涉及的一些关键内置函数及其使用方法,为初学者提供一个全面且深入的理解。 ### EBS Form内置函数说明 #### 一、概述 在Oracle Forms开发过程中,内置函数的掌握对于构建高效、灵活的应用...

    oracle内置函数大全

    Oracle数据库是世界上最广泛使用的数据库系统之一,其内置函数是实现高效数据处理的关键工具。这篇文档“oracle内置函数大全”提供了一个全面的参考,适合数据库管理员、开发人员以及初学者使用。下面将详细介绍...

    sql内置函数

    ### SQL 内置函数知识点详解 #### 一、字符串处理函数 在SQL中,字符串处理函数主要用于对文本数据进行各种操作,例如转换大小写、去除空格、替换字符等。 ##### 1. 大小写转换函数 - **`LOWER()`**:此函数用于...

    ORACLE内置函数大全

    Oracle数据库系统提供了丰富的内置函数,这些函数极大地增强了SQL查询的能力,使得数据处理更加灵活和高效。以下是关于Oracle内置函数的一些详细说明: 1. ASCII函数:ASCII函数返回与给定字符对应的十进制数字。...

    基于空间几何变换的人脸对齐(Matlab内置函数

    本文主要探讨了利用Matlab内置函数实现的人脸对齐方法,分别基于三点和两点进行空间几何变换。 首先,仿射变换作为最常用的一种空间几何变换,在人脸对齐中占据着重要的地位。仿射变换的矩阵表示形式可以是: \[ T...

    Oracle SQL 内置函数大全

    Oracle SQL 内置函数大全 SQL中的单记录函数 给出整数,返回对应的字符 连接两个字符串 增加或减去月份 用于对查询到的结果进行排序输出

    PHP常用内置函数(常用)

    ### PHP常用内置函数详解 #### 引言 在软件开发领域,PHP作为一种广泛使用的服务器端脚本语言,凭借其简洁的语法和强大的功能受到了众多开发者的青睐。PHP的强大不仅仅体现在其核心语言特性上,更重要的是它拥有...

    python :头歌答案内置函数

    标题中提到的“头歌答案内置函数”和描述中的“头歌python答案”可能指向某个在线编程教育平台,例如“力扣”(LeetCode),在该平台上,用户可以通过解决各种编程题目来提升自己的编程技能,其中也包括学习和使用...

    SQL内置函数大全

    SQL函数通常可以分为内置函数和用户定义函数。以下详细介绍各类SQL内置函数的知识点: 一、SQL内部函数 1. 内部合计函数: 这类函数主要用于对数据集合进行统计和汇总。常见的内部合计函数包括: - COUNT(*):...

Global site tag (gtag.js) - Google Analytics