`
xiaoboss
  • 浏览: 641316 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

FreeMarker内置命令(字符串命令)  

 
阅读更多

一、substring

           NOTE: 这个内置以来2.3.7 FreeMarker的存在

       语法exp?substring(from,toExclusive),也可以是exp?substring(from)

        简介:一个字符串,form是第一个字符(A substring of the string.from is the index             of the    first character.),它必须是一个数字,而且至少是0和小于0或者具有相         同的       toExclusive.进行截取操作的最后字符的索引,该值必须为数字,如果该               值省略,默认为从from到字符串的结束。

例:

表达式

输出

${‘abc’?substring(0)}      

Abc

${‘abc’?substring(1)}

Bc

${‘abc’?substringf(2)}

C

${‘abc’?substring(3)}

 

${‘abc’?substring(0,0)}

 

${‘abc’?substring(0,1)}

A

${‘abc’?substring(0,1)}

Ab

 

二、cap_first:将字符串的第一个字符或者字母(仅前几个字符是空格的情况)大写(如果第一个字符是字母);如果字符串的第一个字符不是字母(空格除外),将按照原来字符串的格式返回;若第一个字符是字母并且是大写的情况,结果同上。

表达式

结果

${‘  green mouse’?cap_first}

  Green mouse

${‘GreEN mouse’?cap_first}

GreEN mouse

${‘- green mouse’? cap_first}

- green mouse

In the case of "- green mouse", the first word is the -.

三、uncap_first:功能和cap_first相反

四、capitalize:将一个字符串的首字母大写,其他字母全小写

表达式

结果

${  green mouse}?capitalize

Green Mouse

${‘GreEN mouse’?capitalize}

Green Mouse

 

五、chop_linebreak:如果一个字符串的末尾有换行,将换行打断;否则不变

六、date,time,datetime:将字符串转换成日期,建议提供一个参数指定格式

表达式

结果

<#assign test1 = ‘10/25/1995’?date(‘MM/ddyyyy’)>${test1}

Oct 25,1955

 

 

 

七、ends_with:判断字符串是否以指定的字符结尾,如果是返回true;否则返回false

表达式

结果

${‘read head’?ends_width(‘head’)}

true

 

八、html:作为HTML标记的字符串。也就是说,所有的字符串

l  <取代<

l  >替换>

l  &替换为&

l  "改为"

如果在某个字符串中存在一些HTML特色字符的话,可以使用这种方式来避免与HTML的冲突

九、groups

十、index_of:返回指定字符在字符串中第一次出现的索引。也可以指定从那个索引开始进行查找如${‘abcabc’?index_of(‘bc’,2)}将指定从索引为2的地方开始进行查找匹配字符.如果没有找到批评的字符将返回-1

表达式

结果

${‘abcabc’?index_of(‘bc’)}

1

${‘abcabc’?index_of(‘bc’,2)}

4

 

十一、       j_string:java中的转义字符

十二、       js_string: 脱JavaScript语言文字的字符串字符串的转义规则,因此它是安全的插入文本值转换为字符串。 两个引号(“)和单引号- quoate(')被转义。2.3.1起价FreeMarker的,它也逃脱 > 为 “\> ( 避免 </脚本>)。此外,在所有字符 的UCS 码点0x20,即JavaScript语言中没有专门的转义序列,将被替换为十六进制转义(\ x二十)。(当然,根据JavaScript语言的字符串的语法,反斜杠(\)会被转义也换行会被转义为 \ ?,...等等)

如:

        <#assign user = "Big Joe's \"right hand\"">

        <script>

          alert("Welcome ${user?js_string}!");

        </script> 

将返回

        <script>
         alert("Welcome Big Joe\'s \"right hand\"!");
        </script>

 

十三、       last_index_of:最后一个匹配的索引

十四、       length:字符串的长度

十五、       lower_case:全部转换为小写

十六、       left_pad

十七、       right_pad

十八、       contains这个内置对象在2.3.1版本中有,但2.3版本中没有:用于判段在一个字符串是否存在指定的字符

表达式

结果

<#if ‘maple’?contains(‘ap’)>maple</#if>

maple

 

十九、       matches:只能在java2平台1.4或更高版本上使用,否则将以错误来处理

使用正则进行匹配,返回的是一个序列(SimpleSequence),序列的大小可能是0

表达式

结果

<#if "fxo"?matches("f.?o")>Matches.<#else>Does not match.</#if>

Matches.

<#assign res = "foo bar fyo"?matches("f.?o")>

<#if res>Matches.<#else>Does not match.</#if>

Matching sub-strings:

<#list res as m>

- ${m}

</#list>

Does not match.

Matching sub-strings:

- foo

- fyo 

返回的序列不能直接通过${}输入,而应该通过<#list>进行迭代

二十、       number:将String转换为数值,这个数字必须在FTL指定的格式

二十一、              replace:它用来取代原来的字符串与另一个字符串中所有出现的字符串。它不涉及字边界

表达式

结果

${‘this is a car acarus’?replae(‘car’,’maple’)}

this is a maple amapleus

${‘aaaa’?replace(‘aaa’,’X’)}

Xa

${‘maple’?replce(‘’,’|’)}

|m|a|p|l|e|

 

二十二、              rtf:作为富文本(RTF)字符串

l  \替换\\

l  {替换\{

l  }替换\}

二十三、              split:”分割

分割方式可以指定为标点符号或者字符

表达式

结果

<#list ‘yangyang,do you know my heart’?split(‘,’) as m>

-          ${m}

</#list>

-yangyang

-do you know my heart

 

二十四、              starts_with:以什么开始,与ends_with向对应

二十五、              string:什么也不做,只是返回的字符串原样。唯一的例外is,如果该值是一个多类型的值(例如,它是两个字符串,在同一个时间顺序),然后将得到的值只是一个简单的字符串,而不是一个多类型的值。

二十六、              trim:去掉前后空格

二十七、              upper_case:将所有的字母转换为大写,与lower_case向对应

二十八、              word_list:返回的是一个序列,其中包含的是命令字符串中的所有字,因为他们出现在字符串中,语言是通过以“空格”为标准进行分割

表达式

结果

<#assign words = "   a bcd, .   1-2-3"?word_list>

<#list words as word>[${word}]</#list>

[a] [bcd,][.] [1-2-3]

 

二十九、              xhtml:作为XHTML的文本字符串,类似于html

l  <取代<

l  >取代>

l  &取代&

l  “取代”

l  ‘取代’

三十、       xml:作为XML文本字符串

l  <取代<

l  >替换>

l  &替换为&

l  “改为”

l  ‘改为’

分享到:
评论

相关推荐

    Freemarker操作字符串

    NULL 博文链接:https://bijian1013.iteye.com/blog/2259856

    freemarker实现自动补齐字符串

    freemarker实现自动补齐字符串。通过ftl模版文件(ftl文件为freemarker模版文件)的自定义标签实现自动补齐字符串。代码稍作修改便可左补齐右补齐左右补齐,可自定义设置补齐的字符串。测试通过java文件调用ftl文件...

    Freemarker_内置函数_数字、字符串、日期格式化.txt

    Freemarker_内置函数_数字、字符串、日期格式化.txt

    freemarker语法知识

    FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,...

    FreeMarker内置函数

    FreeMarker内置函数讲解

    freemarker内置函数[文].pdf

    freemarker内置函数[文].pdf

    freemarker_常用内置函数

    java freemarker 常用内置函数

    一篇很全面的freemarker教程

    一篇很全面的freemarker教程reeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:...

    freemarker内置函数和数字格式化.doc

    包含freemarker中常用的字符串函数、日期格函数、sequence函数、Hash函数和浮点数字格式化输出等的介绍和相关实例,很好理解和掌握的

    java代码审计.Freemarker模板命令注入.分析

    java代码审计.Freemarker模板命令注入.分析

    freemarker判断对象是否为空的方法

    FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术...”后的字符)显示。  对象user,name为user的属性的情况,user,name都有可能为空,那么可以写成${(user.name

    freemarker内置函数

    freemarker内置函数,有例子等,想学习freemarker的同学赶紧看看了 ,很有用的哦

    freemarker语法完整版

    字符串 Freemarker代码 &lt;#switch being.size&gt; &lt;#case "small"&gt; This will be processed if it is small &lt;#break&gt; &lt;#case "medium"&gt; This will be processed if it is medium &lt;#break&gt; ...

    spring整合freemarker发送邮件例子

    spring整合freemarker实现发送邮件, html中内嵌图片,添加附件, 解决乱码问题.

    freemarker 内置的几个处理

    博文链接:https://congpeixue.iteye.com/blog/214744

    FreeMarker概述2008

     trim:去掉字符串前后的空白字符  序列使用的:  size:获得序列中元素的数目  数字使用的:  int:取得数字的整数部分(如-1.9?int的结果是-1)  例子(假设test保存字符串"Tom & Jerry"): ${test?...

    freemarker如何判空容错

    NULL 博文链接:https://hw1287789687.iteye.com/blog/2271501

    freemarker命令简介

    1概念 2指令 if, else, elseif switch, case, default, break list, break include ...字符串处理(内置方法) 在模板里对sequences和hashes初始化 注释标志 sequences内置方法 hashes内置方法

Global site tag (gtag.js) - Google Analytics