`
newspringwork
  • 浏览: 101385 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Freemarker常用指令

 
阅读更多

下面是一些Freemarker常用的指令,方便自己记忆


  • 条件:if,else,elseif指令,如
<#if x == 1>
   x is 1
<#if y == 1>
   and y is 1 too
<#else>
   but y is not
</#if>

  • 分支:switch,case,default,break指令,如放大法
<#switch value>
   <#case refValue1>
       ...
       <#break>
   <#case refValue2>
       ...
       <#break>
       ...
   <#case refValueN>
       ...
       <#break>
   <#default>
       ...
</#switch>

  •  循环:list、break等
<#list seq as x>
   ${x}
   <#if x = "spring">
       <#break>
   </#if>
</#list>
 
  • include指令,如
<#include path>
or
<#include path options>

 

  • import指令,如
<#import path as hash>

 

  • assign指令
    新建、替换变量,只能是顶级变量,即不能改变如hash_var.sub_var的值

 

比如:变量test中存储数字:
	<#assign test = 3>
	<br>结果:${test}<br>
替换改变test的值:
	<#assign test = test * 100>
	<br>结果:${test}<br>
一个assign处理多个变量:
	<#assign v_msg1="消息1" v_msg2="消息2">
 

 

  • global指令
    作用及定义和assign类似,不过创建的变量在所有命名空间都可见。
  • local指令
    作用及定义它和assign指令类似,但是它创建或替换局部变量。这仅仅在宏和方法的内部定义才会有作用。
  •  setting指令
    设置是影响FreeMarker行为的值,支持的设置有:
    locale、number_format、boolean_format、date_format,time_format,datetime_format、time_zone、url_escaping_charset、classic_compatible(这是对专业人员来说的,它的值应该是一个布尔值)
    假设原是匈牙利
${1.2}<br>
   <#setting locale="en_US">
${1.2}
 将会输出(匈牙利以逗号","作为小数的分隔符)
   1,2
   1.2
  • 自定义指令,用<@...  />
    将调用用户自定义的指令,比如宏。
  • ftl指令
这个指令,如果存在,必须是模板的第一句代码。可指定的参数:encoding等
  •  attempt,recover 指令
    这些指令在2.3.1版本引入
<#attempt>
   attempt block
<#recover>
   recover block
</#attempt>

 recover只有在前面的模板执行出错(会回滚)才会执行

 

 

分享到:
评论

相关推荐

    FreeMarker常用指令

    FreeMarker 常用指令详解 FreeMarker 的 FTL 指令是模板的重要组成部分,这些指令可以实现对数据模型所包含数据的遍历、分支控制。除此之外,还有一些重要的功能,也是通过 FTL 指令来实现的。下面我们将详细介绍...

    Freemarker常用指令使用示例

    在本文中,我们将深入探讨Freemarker的一些常用指令,并通过给出的示例进行详细解释。 1. **if/elseif/else 指令**: 在示例一中,`&lt;#if&gt;`、`&lt;#elseif&gt;`和`&lt;#else&gt;`用于条件判断。这些指令允许我们根据变量`flag`...

    Freemarker常用语法

    以下是对Freemarker常用语法的详细解析,涵盖输出、条件判断、循环、宏定义等多个方面。 ### 输出与格式化 在Freemarker中,使用`${}`来输出变量。例如,`编程"}&gt;`后,`${book.name} --&gt;`会输出`Java编程`。对于...

    Struts2与FreeMarker模板

    #### FreeMarker常用指令和函数 FreeMarker提供了丰富的指令和函数,以帮助开发者更灵活地控制页面的渲染过程。下面列举了一些常用的指令和函数: - `#foreach`:用于遍历集合或数组。 - `#if` / `#else` / `#else...

    Freemarker简介及标签详解大全

    4. 强大的模板语言:所有常用的指令:include、if/elseif/else、循环结构等。 5. 通用数据模型:FreeMarker 不是直接反射到 Java 对象,Java 对象通过插件式对象封装,以变量方式在模板中显示。 6. 为 Web 准备:在...

    FreeMarker相关学习文档

    三、FreeMarker的常用语法 1. 输出表达式:`${expression}`,用于输出数据模型中的值。 2. 条件语句:`&lt;#if&gt;...&lt;#else&gt;...&lt;#endif&gt;`,用于条件判断。 3. 循环结构:`&lt;#foreach item in list&gt;`,遍历列表或数组。 4. ...

    velocity和freemarker的比较

    标题“velocity和freemarker的比较”涉及到的是两个在Java Web开发中常用的模板引擎——Velocity和FreeMarker。它们都是用于将静态模板与动态数据结合,生成HTML或其他类型的文本输出,常用于MVC(模型-视图-控制器...

    freemarker概述

    - **常用指令**: 包括但不限于`include`、`if/elseif/else`、循环结构等。 - **变量管理**: 在模板中可以创建和修改变量。 - **复杂表达式**: 可以在几乎任何地方使用复杂的表达式来指定值。 - **宏定义**: 支持...

    freemarker中文API手册

    2. 强大的模板语言:支持常用的指令,如include、if/elseif/else、循环结构等,能够在模板中创建和改变变量,支持命名的宏和输出转换块。 3. 通用数据模型:FreeMarker不直接反射到Java对象,而是通过插件式对象封装...

    freemarker语法完整版

    ### Freemarker语法完整版知识点详解 #### A....通过以上详细解释,读者可以更好地理解Freemarker的核心概念、指令用法以及一些常见的技巧和注意事项,从而更高效地使用Freemarker进行模板渲染工作。

    Eclipse freemarker插件

    2. **代码提示和自动完成**:在编写模板时,插件可以提供代码补全功能,帮助开发者快速输入常用的Freemarker指令和变量,减少手动输入的时间和错误。 3. **代码折叠**:对于复杂的模板,插件支持代码折叠,使得...

    freemarker03

    在"freemarker03_常用指令"这个主题中,我们将深入探讨Freemarker的一些核心指令,这些指令是编写高效、灵活模板的关键。 1. **#set指令**:这是最基础的赋值指令,允许你将表达式的结果赋值给一个变量。例如,`...

    FreeMarker整理

    插值是FreeMarker中最常用的功能之一,用于将数据模型中的值插入到模板中。FreeMarker支持两种类型的插值: 1. **通用插值**:`${expr}`,这种插值适用于大多数数据类型,包括字符串、数字、日期等。 2. **数字格式...

    freemarker中文手册.pdf

    - **常用指令支持**:提供丰富的内置指令,如`&lt;#if&gt;`、`&lt;#foreach&gt;`等,方便实现条件判断和循环等功能。 - **变量管理**:允许在模板中创建和修改变量,增强数据处理能力。 - **表达式支持**:几乎可以在模板中的...

    freemarker 与sitemesh 整合例子

    Freemarker和Sitemesh是两个在Web开发中常用的开源技术。Freemarker是一个模板引擎,主要用于生成动态HTML或其他文本格式的输出,而Sitemesh则是一个页面布局和装饰框架,用于统一网站的外观和感觉。这两者的整合...

    freemarker获取数据

    1. 链接和URL编码:Freemarker提供了`@url`指令和`?html`操作符,用于生成安全的URL和HTML实体。 2. 日期和时间格式化:使用`?date`、`?time`和`?datetime`,配合日期格式字符串,如`${myDate?date('yyyy-MM-dd HH:...

    struts2-freemarker

    宏可以封装常用片段,实现代码模块化。 在实际项目中,Struts2和FreeMarker的结合使用可以有效地构建出可维护、可扩展的Web应用。通过Action类处理业务逻辑,FreeMarker负责生成HTML页面,两者协同工作,为开发者...

    excel 导出 freemarker

    在Java开发中,我们经常需要处理数据的导出工作,其中Excel是最常用的数据展示和交换格式之一。FreeMarker是一款强大的模板引擎,常用于生成动态HTML、XML等文档,但也可以扩展到生成Excel文件。本教程将详细介绍...

    freemarker-2.3.19教程

    - **常用指令**: 包括 include、if/elseif/else、循环结构等。 - **变量操作**: 在模板中可以创建和修改变量。 - **表达式**: 使用复杂的表达式来指定值,几乎可以在模板的任何位置使用。 - **宏定义**: 支持命名宏...

Global site tag (gtag.js) - Google Analytics