结束标签

可以在结束标签中忽略user_def_dir_exp 也就是说可以写</@>来代替</@anything>

循环变量

<@myRepeatMacro count=4>

  SomeThing...

</@>

<@myRepeatMacro count=4 ;x>

  ${x}.SomeThing...

</@>

<@myRepeatMacro count=4 ;x,last>  //自定义指令创建的循环变量和分号之后指定的循环变量数量需要不匹配  last可以不写  x也可以不写

  ${x}.Something...<#if last>This was the last!</#if>

</@>

位置参数传递:  目前仅仅支持宏定义

macro,nested,return指令

没有参数的宏

<#macro test>

  Test text

</#macro>

<@test/>  --> Test text

有参数的宏:

<#macro test foo bar baaz>

  Test test,and the params:${foo},${bar},${baaz}

</#macro>

<@test foo="a" bar="b" baaz=5*5-2/>

-->  Test text,and the params:a,b,23

一个复杂的宏

<#macro list title items>

  <p>${title?cap_first}:

  <ul>

    <#list>

      <li>${x?cap_first}

    </#list>

  </ul>

</#macro>

<@list item=["mouse","elephant","python"] title="Animals"/>

-->  <p>Animals:

  <ul>

    <li>Mouse

    <li>Elephant

    <li>Python

  </ul>

function return 指令

<#function name param1 param2 ... paramN>

  ...

  <#return returnVlalue>

  ...

</#function>

例子:
<#function avg x y >
  <#return (x+y)/2>
</#function>
${avg(10,20)}
-->15

freemarker3的更多相关文章

随机推荐

  1. MySQL —— 如何快速对比数据?

    我们在MySql中想要对比下两个不同的实例上的数据并且找出差异,除了主键之外我们还要对比每一个字段,应该怎么做呢? 方案一:写一个程序将两个实例里面的每一行数据都分别取出来对比,但是耗时我们无法估计, ...

  2. Zmodem transfer canceled by remote side问题的解决办法!

    在使用跳转机跳转到另外一台机器的时候,上传一个安装包,此时使用rz命令上传文件,例如:resin-pro-4.0.44.tar.gz,结果出现如下错误提示: 点击确定之后,界面出现乱码,并退回到了跳转 ...

  3. Oracle常用单行函数(原创)

    前言: 想把单行函数进行一个比较全面的总结,并分享给有需要的人,有不明之处还请多多指教. SQL函数:Oracle的内置函数,包括了单行函数和多行函数,本文重点讲解单行函数.单行函数又可以分为许多类, ...

  4. python --curl重定向到文件范例

      import sys import os import subprocess import time start = time.time() old=sys.stdout f=open('test ...

  5. xaf 自定义登陆页

    web    Model.xafml   view      AuthenticationStandardLogonParameters_DetailView https://documentatio ...

  6. 构建SqlSessionFactory 的过程

    1 SqlSessionFactory 的核心功能是创建 SqlSession 接口,而 SqlSessionFactory 是通过 SqlSessionFactoryBuilder 去构建. 构建步 ...

  7. django Proxy models ---- 代理模式

    一个proxy models 不会在数据库中创建新的表.而是与它的基类共用同一个表 1.model 的定义: from django.db import models # Create your mo ...

  8. JStorm环境搭建

    开始JStorm学习之前需要搭建集群环境,这里演示搭建单机JStorm环境,仅供学习使用,生产环境部署大同小异,但建议参考JStorm社区及相关说明文档. 一.前提 JStorm核心代码均用Java实 ...

  9. redis五种基本数据类型

    1.string类:一个key对应一个value(key:value).string类是二进制安全,可以包含任何数据(例如:图片.音乐). 2.hash类:string类型field和value的映射 ...

  10. EditText禁止输空格

    1.EditText禁止输空格 editText.setFilters(new InputFilter[]{filter}); private InputFilter filter=new Input ...