`
wenjie12201
  • 浏览: 150334 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
  • luoxun11: 其实这个问题的本质是用##包围变量的时候ibatis会采用St ...
    iBATIS #和$

freemarker 类型转换

 
阅读更多

操作字符串函数 

1. substring(start,end)从一个字符串中截取子串 

start:截取子串开始的索引,start必须大于等于0,小于等于end

end: 截取子串的长度,end必须大于等于0,小于等于字符串长度,如果省略该参数,默认为字符串长度。

例子:

${‘str’?substring(0)} 结果为str 

${‘str’?substring(1)} 结果为tr 

${‘str’?substring(2)} 结果为r 

${‘str’?substring(3)} 结果为 

 

${‘str’?substring(0,0)} 结果为 

${‘str’?substring(0,1)} 结果为s 

${‘str’?substring(0,2)} 结果为st 

${‘str’?substring(0,3)} 结果为str 

 

 

2. cap_first 将字符串中的第一个单词的首字母变为大写。 

${‘str’?cap_first} 结果为Str 

 

3. uncap_first将字符串中的第一个单词的首字母变为小写。 

${‘Str’?cap_first} 结果为str 

 

4. capitalize将字符串中的所有单词的首字母变为大写 

${‘str’? capitalize} 结果为STR 

 

5. date,time,datetime将字符串转换为日期 

例如:

<#assign date1=”2009-10-12”?date(“yyyy-MM-dd”)>

<#assign date2=”9:28:20”?time(“HH:mm:ss”)>

<#assign date3=” 2009-10-12 9:28:20”?time(“HH:mm:ss”)>

 

${date1} 结果为2009-10-12 

${date2} 结果为9:28:20 

${date3} 结果为2009-10-12 9:28:20 

 

注意:如果指定的字符串格式不正确将引发错误。

 

6. ends_with 判断某个字符串是否由某个子串结尾,返回布尔值。 

${“string ”?ends_with(“ing”)?string } 返回结果为true

注意:布尔值必须转换为字符串才能输出

 

7. html 用于将字符串中的<、>、&和“替换为对应得&lt;&gt;&quot:&amp 

 

8. index_of(substring,start)在字符串中查找某个子串,返回找到子串的第一个字符的索引,如果没有找到子串,则返回-1。 

  Start参数用于指定从字符串的那个索引处开始搜索,start为数字值。

  如果start大于字符串长度,则start取值等于字符串长度,如果start小于0, 则start取值为0。

  ${“ string ”?index_of(“in”) 结果为3 

${“ string ”?index_of(“ab”) 结果为-1 

 

9. length返回字符串的长度 ${“ string ”?length} 结果为6 

 

10. lower_case将字符串转为小写 

${“ STRING ”?lower_case} à 结果为 string 

 

11. upper_case将字符串转为大写 

${“ string ”?upper_case} à 结果为 STRING 

 

12. contains 判断字符中是否包含某个子串。返回布尔值 

  ${“ string ”?contains(“ing”)? string } 结果为true 

  注意:布尔值必须转换为字符串才能输出

 

13. number将字符串转换为数字 

${“111.11”?number} 结果为111.11 

 

14. replace用于将字符串中的一部分从左到右替换为另外的字符串。 

${“strabg”?replace(“ab”,”in”)} 结果为 string 

 

15. split使用指定的分隔符将一个字符串拆分为一组字符串 

<#list “This|is|split”?split(“|”) as s>

  ${s}

</#list>

结果为:

This 

is

split

 

16. trim 删除字符串首尾空格 ${“ String ”?trim} 结果为 String 

 

 

四、 操作数字 

1. c 用于将数字转换为字符串 

${123?c} 结果为123 

 

2. string 用于将数字转换为字符串 

Freemarker 中预订义了三种数字格式:number,currency(货币)和percent(百分比)其中number为默认的数字格式转换

例如:  

<#assign tempNum=20>

${tempNum}  

${tempNum? string .number}或${tempNum? string (“number”)} 结果为20 

${tempNum? string .currency}或${tempNum? string (“currency”)} 结果为¥20.00 

${tempNum? string . percent}或${tempNum? string (“percent”)} 结果为2,000% 

 

五、 操作布尔值 

 

string 用于将布尔值转换为字符串输出

true转为“true”,false转换为“false”

 

foo?string (“yes”,”no”)如果布尔值是true,那么返回“yes”,否则返回no

分享到:
评论

相关推荐

    freemarker语法知识

    FreeMarker 是一个强大的模板引擎,常用于Web应用中动态生成HTML或其他类型的文本文件。它的语法简单易懂,主要由四个基本部分构成: 1. **文本**:这是模板中直接输出到最终文档的部分,通常包括HTML代码、样式和...

    freemarker导出doc及docx

    但Freemarker并不仅限于此,它也可以用于生成各种类型的文档,如Word文档(.doc, .docx)。 **2. SpringBoot整合Freemarker** SpringBoot简化了Freemarker的集成。在SpringBoot项目中,只需在`pom.xml`中添加...

    freemarker生成静态html示例

    Freemarker是一个强大的模板引擎,常用于Web应用中动态生成HTML或其他类型的文本文件。它采用声明式编程方式,使得开发者可以专注于数据模型,而不用关心如何呈现这些数据。本示例项目是在Eclipse环境中创建的一个...

    Java html转word 使用FreeMarker

    FreeMarker是一个开源的Java库,主要用于生成动态生成的Web页面或其他类型的文本输出,如电子邮件、XML文档等。它的核心功能是解析模板文件,并结合数据模型生成目标输出。在HTML到Word的转换过程中,FreeMarker能够...

    Velocity 和 FreeMarker区别

    - **FreeMarker**提供了多种循环结构,如`&lt;#list items as item&gt;`,可以处理不同的数据类型和复杂度。 - **Velocity**也支持循环,但其语法相对简单,通常使用`#foreach($item in $items)`这样的形式。 3. **条件...

    freemarker+itext生成PDF

    在Java应用中,FreeMarker通常与Servlet容器一起使用,用于生成动态网页内容,但也可以用来生成任何类型的文本输出,包括PDF。 接下来是Itext。Itext提供了一系列API,可以方便地创建PDF文档,包括添加文本、图像、...

    FreeMarker实例教程,手把手教你FreeMarker的方方面面

    - **数据模型一览**:详细介绍了FreeMarker支持的各种数据类型,包括基本类型(如字符串、数字)、复杂类型(如列表、哈希表)、以及特殊类型(如日期、时间)。 - **模板一览**:提供了关于模板语法的详细介绍,...

    FreeMarker中文版文档1

    例如,数字运算可能需要确保所有操作数都是同一类型,否则FreeMarker会尝试进行隐式转换。 2.2 类型 FreeMarker有自己的一套类型系统,包括Number(涵盖整数和浮点数)、String、Boolean、Date/Time等。类型转换...

    freemarker_常用内置函数

    通过以上介绍,我们可以看到Freemarker提供了丰富的内置函数来帮助开发者处理各种数据类型。掌握这些内置函数的使用方法不仅能够提高开发效率,还能使得模板代码更加简洁、易读。希望本文能帮助大家更好地理解和运用...

    freemarker 导出word表格

    将XML文件转换为FreeMarker模板(`.ftl`文件)。FreeMarker模板语言允许你在XML结构中嵌入表达式,这些表达式将在运行时由FreeMarker引擎替换为实际数据。例如,你可以将`${variable}&lt;/w:t&gt;`替换为实际的数据占位符...

    freemarker详解

    - **数据类型转换**:FreeMarker可以自动进行类型转换,但也可以通过`?string`、`?number`等强制转换。 - **内置函数和操作符**:如`?upper_case`将字符串转为大写,`+`运算符用于连接字符串或数字相加。 4. **...

    freemarker wrod 统计图的生成

    这些工具可以根据提供的数据生成各种类型的图表,如柱状图、折线图、饼图等。 2. **图片处理**: 生成的图表通常为PNG或JPEG格式的图片文件,将其保存在服务器上或者内存中。你可以使用Java的`ImageIO`类或者第三方...

    实用方便freemarker.jar freemarker架包 freemarker生成excel、word、html、xml例子

    通常,我们需要借助第三方库,如Apache POI,先将FreeMarker模板转换为HTML,然后再转换为Word或Excel。这种方式虽然多了一步,但依然能保持模板和数据的分离。 5. SpringMVC集成: 在SpringMVC框架中,可以通过...

    freemarker语法

    FreeMarker定义了三种类型的FTL指令:开始标签、结束标签和空标签。开始标签格式为,结束标签格式为,空标签格式为。如果使用的指令是用户自定义而不是内置指令,应将#符号改为@符号。 在使用FTL标签时,应该遵循...

    freemarker的jar包和代码

    - **数据类型转换**:内置转换器支持多种类型转换。 FreeMarker是一个灵活且功能强大的模板引擎,它的强大之处在于能够清晰地分离表现层和业务逻辑,使开发者和设计师可以更高效地协作。理解并掌握这些知识点,能...

    apache-freemarker-2.3.26

    FreeMarker会自动处理类型转换和安全访问,使得模板编写更简洁。 3. **指令**:FreeMarker提供了一系列内置指令,如`#if`、`#foreach`、`#assign`等,用于控制流程和数据操作。例如,`#if`用于条件判断,`#foreach`...

    FreeMarker结合官方文档Demo

    6. **数据类型转换与格式化**:FreeMarker提供了许多内置的转换和格式化功能,比如`date`、`number`等,可以将变量转换为指定的格式。例如,`${myDate?string("yyyy-MM-dd")}`将日期对象转换为指定格式的字符串。 7...

    freemarker插件

    someModifier}`: 转义、默认值、类型转换等操作符。 3. **Freemarker插件功能** - **代码提示和补全**: 插件可能提供自动完成模板语法的功能,帮助快速输入模板元素。 - **模板预览**: 可能有实时预览功能,无需...

    Freemarker导出word示例,包括jfreechart图表

    4. 将生成的图表转换为图像格式(例如JPEG或PNG),以便于插入到Word文档中。 接下来,我们将这些图表图像与Freemarker模板结合。在模板中,我们可以使用类似于HTML的`&lt;img&gt;`标签,将图片的路径作为`src`属性,这样...

    freeMarker生成html实用例子

    - **数据类型转换**:FreeMarker支持自动类型转换,但也可通过`?string`、`?number`等进行显式转换。 4. **FreeMarker的优势** - **分离关注点**:FreeMarker允许开发者专注于HTML的布局和样式,而Java程序员处理...

Global site tag (gtag.js) - Google Analytics