FreeMarker内置插件及方法调用
2010-07-02 16:10:54| 分类: FreeMarker
2.3.1 | 标签: |字号大中小 订阅
部分插件如下(所有插件见官方页面:http://www.freemarker.org/docs/ref_builtins.html):
1.和String一起使用的:
html:用实体引用代替String中包含的所有特殊html字符,即将出现的html中的特殊字符转化为html语言中特殊字符的表示,使浏览器可以识别显示正确页面内容。
cap_first:字符串首字母大写。
lower_case:使字符串所有字母小写。
upper_case:是字符串所有字母大写。
trim:删除字符串中的空格。
2.和sequences一起使用的:
size:包含元素个数。
3.和Numbers一起使用的:
int:数字的整数部分(例如:-1.9?int
就是 -1)。
例1:
test中存储着:"Tom & Jerry''
|
${test?html} ${test?upper_case?html}
|
|
|
|
输出(所有输出都是指服务器传给浏览器的代码段):
Tom & Jerry TOM & JERRY
|
|
|
|
例2:
seasons中存储了序列:"winter", "spring", "summer", "autumn"
${seasons?size} ${seasons[1]?cap_first} <#-- left side can by any expression --> ${"horse"?cap_first}
|
|
|
|
输出为:
4.方法调用
例3:
假如程序中已经定义了一个repeat方法
${repeat(repeat("x", 2), 3) + repeat("What", 4)?upper_case}
|
|
|
输出:
分享到:
相关推荐
要在Eclipse中安装FreeMarker插件,你可以通过Eclipse的内置市场(Marketplace)进行搜索。打开"Help" -> "Eclipse Marketplace",在搜索框中输入“freemarker”,然后选择合适的插件,如"FreeMarker IDE",点击...
FreeMarker 是一个强大的模板引擎,常用于Web应用中的视图层,它允许开发者用简单的标记语言来编写动态内容。...在实际项目中,结合源码阅读和使用工具,如IDE的插件,可以更好地理解和调试FreeMarker模板。
通过这份手册,你可以了解到Freemarker的语法、指令、内置对象以及如何与Java代码进行交互等核心概念。例如,Freemarker支持控制结构(如if、foreach)、变量表达式、函数调用等,这些都是构建动态页面的基础。同时...
这个"freemarker Demo"项目应该包含了基本的模板文件、Struts2配置以及相关的Java代码,通过实际运行和修改这些文件,初学者可以更好地理解Freemarker的工作原理和使用方法。在学习过程中,可以逐步尝试不同的表达式...
- **定位与功能**:FreeMarker是一款基于模板的通用工具,旨在帮助开发者利用模板生成各类文本输出,包括但不限于HTML网页、XML文档、RTF文件及Java源代码等。 - **适用场景**:虽然最初设计用于生成HTML网页,尤其...
- **模板语言(Template Language)**: Freemarker有自己的模板语言,包括变量引用、条件语句、循环、函数调用等。 2. **工作原理** - 当应用需要生成输出时,会创建一个Freemarker配置对象,并加载模板文件。 - ...
4. 方法调用:FreeMarker允许直接调用数据模型中的方法,如`${user.getName()}`。 三、FreeMarker配置与优化 1. 自定义配置:通过`freemarker.template.Configuration`类可以设置FreeMarker的配置,如模板加载策略...
- **灵活的模板加载机制**:可以通过插件式的方法从不同的来源加载模板,比如本地文件系统、数据库等。 - **多用途输出方式**:除了保存为本地文件外,还可以通过电子邮件发送、或者从Web应用程序发送给Web浏览器...
- **对象封装**:FreeMarker使用插件式的对象封装机制来展示Java对象,这使得开发者能够在不直接暴露底层实现的情况下使用对象。 - **抽象表示**:可以通过抽象接口的形式来表示对象,例如JavaBean、XML文档、SQL...
5. **内置函数**:FreeMarker提供了一些内置函数,如`date`、`time`等,用于对数据进行格式化。 6. **自定义指令和函数**:通过实现`TemplateDirectiveModel`和`TemplateMethodModel`接口,可以扩展FreeMarker的...
此外,优化模板布局、合理使用FreeMarker的控制结构和内置函数,可以提升页面渲染效率。 通过这个实例,我们可以了解到FreeMarker与Struts2.0集成的基本流程和关键点,这对于理解和实践MVC模式在Web开发中的应用...
- **内置函数(Built-in Functions)**:FreeMarker提供了一系列内置函数,如`length`用于获取数组或列表的长度,`date`用于格式化日期等。 - **宏(Macros)**:宏类似于函数,可以封装重复使用的模板代码。通过`...
例如,通过Struts2设置type属性来访问FreeMarker模板,可以实现从Struts2框架中调用FreeMarker模板来输出页面。 综上所述,FreeMarker是一种高效的模板引擎,它通过将业务逻辑与页面表现分离,简化了Web开发的过程...
- **Java对象封装**:FreeMarker不是直接使用Java对象,而是通过插件式的对象封装机制将Java对象转换为模板中的变量。 - **抽象接口支持**:可以通过接口(如JavaBean、XML文档、SQL查询结果集等)来表示对象,...
这些插件扩展了框架的功能,如JSON插件支持JSON数据的处理, Tiles插件用于页面布局,Freemarker插件则提供了模板引擎的支持。通过导入这些插件,开发者可以快速实现特定的功能,提高开发效率。 **3. Action与...
3. 插件扩展性增强:增加了更多内置插件,如Spring插件、Tiles插件等,便于集成其他框架。 4. 集成了更多模板引擎:除了Freemarker,还支持JSP、Velocity等模板技术。 5. 动态Action和结果类型:Action可以动态决定...
1. **插件体系**: Struts 2有一个强大的插件系统,允许扩展和自定义框架的行为,如Tiles插件用于布局,Freemarker插件用于模板引擎。 2. **动态方法调用**: 动态方法调用允许开发者通过URL直接调用Action的任何公共...
Action的配置可以在struts.xml文件中完成,包括动作名称、类名、方法及对应的URL映射。此外,Struts 2还支持动态方法调用,允许在不预先配置的情况下执行Action的任何公共方法。 **4. 结果渲染** Result是控制视图...
6. **插件(Plugins)**:Struts2有许多内置插件,如Tiles插件用于布局管理,Freemarker插件支持FreeMarker模板,JSON插件用于生成JSON响应等。这些插件极大地丰富了Struts2的功能。 7. **国际化...
4. **结果类型(Result Types)**:Struts 2提供了多种内置的结果类型,如dispatcher(用于转发到JSP)、stream(用于处理文件下载)、freemarker(用于FreeMarker模板渲染)等。开发者还可以自定义结果类型。 5. *...