1、取列表
<#list lst as x>
${x.id} ${x.name}
</#list>
取列表的长度:
<#if tmlist?size== 0>暂无记录</#if>
2、取session值
<#if Session["flag"]?exists>
<#list Session.cart.items as item>
<tr>
<td>${item.test.id}</td>
<td></td>
<td>${item.test.price}</td>
<td>${item.amount}</td>
<td>${item.totalamount}</td>
<td>删除</td>
</tr>
</#list>
</#if>
注:可以用Session["sessionName"]取 也可以用${Session.sessionName}取
----------------------------------------------------
3、格式化金额
按千分位分隔,并保留两位小数:
${123456.789?string(",##0.00")}
输出:123,456.79 (这样的格式,0是转为0.00)
具体参照:
http://www.educity.cn/java/405246.html
----------------------------------------------------
后来发现,即使是用了上面这种方法格式化,比如后台传过来是12.12,在前台会显示成12.00,才知道在界面上,freemarkder取值进行计算的时候,会自动把小数点忽略掉,解决办法如下:
${var.amount?string.number }
官方文件如下:
<#setting number_format="currency">
<#assign x=42>
${x}
${x?string} <#-- the same as ${x} -->
${x?string.number}
${x?string.currency}
${x?string.percent}
Will now output:
$42.00
$42.00
42
$42.00
4,200%
4、if标签的使用:
<#if type.isparent == 0>
1
<#else>
2
</#if>
如果type.isparent为0的话,则显示1,否则显示2
注:如果是有>,< 这些比较符号,直接写是会报错的,要么用转义符,要么加上括号。如下:
1 用符号代替,> gt, >= gte ,< lt , <= lte
2 加括号 <#if(x>y)>
5、引用文件:include file
<#include "文件路径">
string转double
String var = "123.4";
<#if var?eval >=100>大于100哟<#else>小于100
</#if>
6、操作字符串
6.1、字符串截取:substring(start,end)从一个字符串中截取子串
${'str'?substring(1)}结果为tr
${'str'?substring(0,2)}结果为st
分享到:
相关推荐
通过分析这个示例,我们可以学习如何在实际项目中应用自定义标签,以提高模板的可维护性和复用性。 总的来说,理解并掌握Freemarker的自定义标签,不仅可以使模板设计更加灵活,还能帮助我们更好地组织和管理视图层...
4. 国际化支持:通过使用`<#t>`标签,FreeMarker可以轻松实现多语言环境下的文本处理。 三、FreeMarker的常用语法 1. 输出表达式:`${expression}`,用于输出数据模型中的值。 2. 条件语句:`<#if>...<#else>......
这篇学习文档将带你深入理解Freemarker的基础知识和高级特性,并通过Jeecms模板标签的使用,让你更好地掌握实际开发中的应用。 1. **Freemarker基础** - **模板语言**:Freemarker使用简单的文本模板语言,将数据...
这个“freemarker中文学习资料”压缩包提供了详尽的网页版API文档,对于想要深入理解和掌握Freemarker的开发者来说,是一份非常宝贵的资源。 1. **Freemarker基础概念** - **模板语言**:Freemarker使用一种简单的...
在Spring MVC框架中,Freemarker是一个常用的模板引擎,它允许开发者使用简洁的模板语言来动态生成HTML或者其他...在学习和实践中,你应该尝试创建自己的自定义标签,理解它们的工作原理,以便在实际项目中灵活运用。
6. **自定义函数和标签库**:扩展FreeMarker的功能,创建可复用的宏和自定义指令。 在深入学习FreeMarker的同时,阅读官方文档、参考书籍和在线教程是非常有益的。提供的压缩包文件可能包含了FreeMarker的API文档、...
### FreeMarker 学习资料详解 #### 一、FreeMarker 模板文件构成 FreeMarker 是一种用于生成动态文档的工具,它通过结合固定的文本、注释、变量(插值)以及指令(FTL标签)来创建动态内容。具体而言,FreeMarker ...
这个“freemarker学习例子”应该包含了一些基础到进阶的Freemarker用法,帮助初学者快速上手。 在Freemarker中,主要涉及以下几个核心概念: 1. **模板(Templates)**:模板是Freemarker的核心,它是HTML或其他文本...
学习这个中文帮助文档,你将能够熟练地创建和管理Freemarker模板,更好地实现视图层与后端逻辑的解耦,提升开发效率。同时,文档还可能涵盖高级特性,如自定义指令和函数,以及与其他技术(如Spring MVC)的集成。...
- 尽量使用Freemarker自带的标签以提高性能。 **10. 特殊指令** - `r` 原样输出。 - `?` 引出内置指令。 - `@` 用户自定义标签。 **11. 特殊操作符** - `!`: 默认值操作符。 - `??`: 缺失值测试操作符。 **...
3. **Freemarker标签** - **内置函数**:如`?html`用于转义HTML实体,`?string`将对象转换为字符串。 - **自定义标签**:开发者可以根据需要创建自己的宏或标签库,增强模板功能。 4. **Freemarker与其他工具的...
- **学习曲线**:Velocity的学习曲线较平缓,适合初学者,而FreeMarker可能需要更多时间去熟悉其高级特性。 - **灵活性**:FreeMarker的灵活性更强,可以更好地处理复杂逻辑,而Velocity更强调模板的纯粹性,尽量...
5. **自定义标签库**:Struts2支持自定义标签,结合Freemarker的模板,可以创建出易于理解和维护的视图层代码。 6. **错误和异常处理**:Struts2提供了一套完善的异常处理机制,可以在发生错误时跳转到特定的错误...
FreeMarker是一种模板引擎,用于生成文本输出,比如网页、源代码等。...在学习FreeMarker模板语法时,需要注意标签的正确使用、插值的类型和应用场景,以及如何通过设置和函数来控制数据的格式化输出。
这篇博客文章可能深入探讨了FreeMarker的学习过程,虽然具体内容无法直接获取,但从标题和标签我们可以推测出一些关键知识点。 1. **模板引擎原理**: FreeMarker的工作原理是,它接收数据模型(通常是Java对象)...
FreeMarker详解,内包括freemarker教程_中文版、freemarker中文参考手册、FreeMarker标签使用、freemarker学习文档、freemarker根据模版生成文件使用例子 等文档
FreeMarker是一个强大的、开源的模板引擎,主要用于生成文本输出,尤其是HTML Web页面。...通过熟练掌握其标签和指令,开发者可以构建出高效、可维护的视图层,从而提升Web应用的整体性能和用户体验。
4. **国际化与本地化**:Freemarker支持多语言环境,通过`<#t>`指令和`<#lt>`标签,可以轻松实现国际化和本地化的文本输出。 5. **宏和导入**:宏类似于函数,可以复用代码段。`<#macro>`定义宏,`<#import>`或`...
4. **Freemarker模板**:在Freemarker模板中,你可以使用Struts2提供的`<s:iterator>`标签遍历当前页的数据,同时使用自定义的Freemarker宏或Struts2的`<s:url>`标签生成分页链接。例如,可以创建一个`pagination....