首页 > 其他分享 >Freemarker基本语法

Freemarker基本语法

时间:2022-09-21 09:45:24浏览次数:49  
标签:基本 下标 name Freemarker macro Value 语法 number2 number1

字符串输出:
${"Hello ${name} !"} 

或者

${"Hello " + name + " !"}

自定义特殊字符串

<#assign cname=r"特殊字符完成输出(http:www.baidu.com)">
${cname}
字符串截取 :

通过下标直接获取下标对应的字母: ${name[2]}
起点下标..结尾下标截取字符串:${name[0..5]}

算数运算:

<#-- 支持"+"、"-"、"*"、"/"、"%"运算符 -->

<#assign number1 = 10>
<#assign number2 = 5>"+" : ${number1 + number2}"-" : ${number1 - number2}"*" : ${number1 * number2}"/" : ${number1 / number2}"%" : ${number1 % number2}

比较运算符:

<#if number1 + number2 gte 12 || number1 - number2 lt 6>"*" : ${number1 * number2}
<#else>"/" : ${number1 / number2}
</#if>
内建函数:

<#assign data = "abcd1234">
第一个字母大写:${data?cap_first}
所有字母小写:${data?lower_case}
所有字母大写:${data?upper_case}

<#assign floatData = 12.34>

数值取整数:${floatData?int}
获取集合的长度:${users?size}
时间格式化:${dateTime?string("yyyy-MM-dd")}

空判断和对象集合:
<#if users??>
<#list users as user >
${user.id} - ${user.name}
</#list>
<#else>
${user!"变量为空则给一个默认值"}
</#if>
Map集合:

<#assign mapData={"name":"程序员", "salary":15000}>

直接通过Key获取 Value值:${mapData["name"]}

通过Key遍历Map:

<#list mapData?keys as key>
Key: ${key} - Value: ${mapData[key]}
</#list>

通过Value遍历Map:

<#list mapData?values as value>
Value: ${value}
</#list>

List集合:

<#assign listData=["ITDragon", "blog", "is", "cool"]>
<#list listData as value>${value} </#list>
include指令:

引入其他文件:

<#include "otherFreeMarker.ftl" />
macro宏指令:

定义无参数的宏macro

<#macro mo>
定义无参数的宏macro--${name}
</#macro>

使用宏macro: <@mo />

定义带参数的宏macro

<#macro moArgs a b c>
定义带参数的宏macro-- ${a+b+c}
</#macro>

使用带参数的宏macro: <@moArgs a=1 b=2 c=3 />

命名空间:
<#import "otherFreeMarker.ftl" as otherFtl>
${otherFtl.otherName}
<@otherFtl.addMethod a=10 b=20 />
<#assign otherName="修改otherFreeMarker.ftl中的otherName变量值"/>
${otherFtl.otherName}
<#assign otherName="修改otherFreeMarker.ftl中的otherName变量值" in otherFtl />
${otherFtl.otherName}

标签:基本,下标,name,Freemarker,macro,Value,语法,number2,number1
From: https://www.cnblogs.com/acelin/p/16714478.html

相关文章

  • 树的基本概念介绍
    为什么需要树这种数据结构这是我本人在B站看韩顺平老师数据结构和算法的学习笔记,记录一下,防止忘记1)数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组......
  • 博客园的代码语法高亮推荐
    这种代码语法高亮,个人感觉不错,也是别处找的,如下首先选择默认的语法高亮:选择默认markdown编辑器,加入以下代码:<divclass="cnblogs_Highlighter"><preclass="brus......
  • Java基础07 基本运算符
    运算符◆Java语言支持如下运算符:算术运算符:+,-,*,/,%,++,-赋值运算符=关系运算符:>,<,>=,<=,==,!=instanceof逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<,>>>了解......
  • python基本数据类型
    基本数据类型:整形int12浮点型float12.12列表list[]集合set{1,2,3}字典dict{1:'a'},key是不可变类型,一般是字符串,value可以使任意类型元祖typle(1,2,3)......
  • 实时系统基本概念
    前后台系统应用程序是一个无限循环,循环中调用相应的函数完成相应的操作,这部分可以看作后台(background)。中断服务程序处理异步事件,这部分可以看成前台。后台也可以叫做任务......
  • Nebula语法-nGQL
    nGQL语法大致兼容Cypher语法1、创建表空间CREATESPACECODING_ENGINE(vid_type=FIXED_STRING(32));2、创建顶点verticeCREATETAGTAGNAME(create_timedatetime......
  • Docker 基本概念
    Docker包括三个基本概念 镜像(Image) 容器(Container) 仓库(Repository) 理解了这三个概念,就理解了Docker......
  • 通关基本算法 day_04 -- 高精度
    高精度加法大整数如何存储? --每一位存到数组里例如:123456789 第0位存谁?--存9因为如果0位存最后一位,需要乘法的时候,在数组末尾添加数字要比数组开端添加数字方便......
  • 1.PIC16F877A的基本IO及MPLAB X IDE的simulator基本使用
    1.PIC16F877A基本io配置原理及相关程序  配置基本的IO主要是配置单片机的TRIS和PORT,其他功能一律当成默认未开启以PORTB为例,PORTB有多8个引脚,RB0于低电压编程相关,RB......
  • Raft 基本流程
    领导选举—>状态复制领导选举每个节点可以有三个身份,分别是跟随者,候选者和领导者。当节点是跟随者时,它并没有收到领导者的消息,那它就可以变成候选者。接下来,成为候......