这里列举出Freemarker模板文件中8个常用的指令。

1. assign

assign指令用于创建或替换一个顶层变量,assign指令的用法有多种,包括创建或替换一个顶层变量,创建或替换多个变量等。

示范代码:

<#assign x>
  <#list [“星期一”, ”星期二”, ”星期三”, “星期四”, ”星期五”, ”星期六”, ”星期日”] as n>
    ${n}
  </#list>
</#assign>

2. break

break指令用于跳出迭代。

示范代码:

<#list [“星期一”, ”星期二”, ”星期三”, “星期四”, ”星期五”, ”星期六”, ”星期日”] as x>
  ${x_index + 1}.${x}<#if x_has_next>,</if>
  <#if x=”星期四”><#break></#if>
</#list>

3. switch、case、default

switch, case, default这些指令都是分支指令,作用类似于Java中的switch语句。

示范代码:

<#switch x>
  <#case x = 1>1
  <#case x = 2>2
  <#case x = 3>3
  <#default>d
</#switch>

如果x=1输出1,如果x=2输出2,如果x=3输出3,x=4输出d。

4. if、else if、else

else指令是一个典型的分支控制指令,作用完全类似于Java语言中的if。

示范代码:

<#assign age = 23>
  <#if (age > 60)>老年人
    <#else if (age > 40)>中年人
    <#else if (age > 20)>青年人
  <#else>少年人
  </#if>
</#assign>

5. escape

escape指令导致body区的插值都会被自动加上escape表达式,但不会影响字符串内的插值,只会影响到body内出现的插值。

示范代码:

<#escape x as x?html>
First Name:${firstName}
Last Name:${lastName}
Maiden Name:${maidenName}
</#escape>

6. import

import指令用于导入FreeMarker模版中的所有变量,并将该变量放置在指定的Map对象中。

示范代码:

<#import “/libs/myLib.ftl” as my>

7. include

include指令用于包含指定页,作用类似于JSP的包含指令。

示范代码:

<#include “/common/copyright.ftl” encoding=”GBK”>

8. list

list指令是一个迭代输出指令,用于迭代输出数据模型中的集合

示范代码:

<#list [“星期一”, ”星期二”, ”星期三”, “星期四”, ”星期五”, ”星期六”, ”星期日”] as x>
${x_index + 1}.${x}<#if x_has_next>,</if>
<#if x=”星期四”><#break></#if>
</#list>

"苦练七十二变,才能笑对八十一难。"

freemarker中8个常用的指令的更多相关文章

  1. 工作中常用Git指令操作

    常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...

  2. Vue.js中的常用的指令缩写

    Vue.js为两个最为常用的指令提供了特别的缩写: v-bind缩写 <!--完整语法--> <a v-bind:href="url">测试</a&g ...

  3. freemarker中使用<@spring.*>标签实现国际化

    freemarker实现国际化使用自定义指令<@spring>实现,通过@符号可以看出是自定义的指令,在哪里定义的呢? 路径如下:org/springframework/spring-we ...

  4. linux常用操作指令

    Linux常用操作指令: 常用指令 ls        显示文件或目录 -l           列出文件详细信息l(list) -a          列出当前目录下所有文件及目录,包括隐藏的a(a ...

  5. Freemarker中遍历List以及内置函数使用

    在Freemarker应用中经常会遍历List获取需要的数据,并对需要的数据进行排序加工后呈现给用户. 那么在Freemarker中如何遍历List,并对List中数据进行适当的排序呢?一. Free ...

  6. Linux 下 expect 脚本语言中交互处理常用命令

    Linux 下 expect 脚本语言中交互处理常用命令 1. #!/usr/bin/expect 告诉操作系统脚本里的代码使用那一个 shell 来执行.这里的 expect 其实和 Linux 下 ...

  7. Freemarker中如何遍历List

     Freemarker中如何遍历List(附源码) 关键词(Keyword):Freemarker,Freemarker遍历list 在Freemarker应用中经常会遍历List获取需要的数据, ...

  8. git 详细教程和常用操作指令

    git 内部工作原理图 如上图,git 一般可以分为三个区:工作区.暂存区.版本库,通常类似 git add等命令都是与index 暂存区的交互,git commit指令则是 index 与版本库的交 ...

  9. freemarker中对null值问题的处理

    1. freemarker不支持null. 如果值为null会报错. 2.当值为null的处理 1)过滤不显示 Hello ${name!} 在属性后面加感叹号即可过滤null和空字符串 if和”?? ...

随机推荐

  1. python部分笔记

    创建类和对象 图片转在自:https://www.cnblogs.com/aylin/p/5547558.html 图片转在自:https://www.cnblogs.com/aylin/p/5547 ...

  2. leetcode - 括号字符串是否有效

    括号字符串是否有效 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. ...

  3. Ansible配置执行远程主机的ssh端口号

    在线上的环境中,服务端的ssh会有进行变更的情况 例如:有些服务器的ssh端口号是 34567 等情况,那么该如何配置呢? 编辑 /etc/ansible/hosts [servers] 配置完毕后, ...

  4. win10无法在桌面右键快捷打开个性化设置、显示设置,在任务栏右键无法快捷打开任务栏设置

    Win+R,输入regedit,定位到HKEY_CURRENT_USER\Software\Classes\ 找到列表中的ms-settings 将其删除即可解决! 转自百度知道

  5. Tomcat部署项目时,发布的项目页面部分乱码,且页面渲染文件也是乱码。

    catalina.bat中必须设置为UTF-8,如果我不设置为UTF-8,页面接收到的就是乱码了,尝试过各种UTF-8的调试,都无解,最后还是只能在catalina.bat的set "JAV ...

  6. JMETER 使用随机变量

    使用场景 在发起流程时,我们需要模拟实际情况,不同的用户可以产生不一样数量的流程实例,因此我们可以使用随机变量还进行模拟. 随机变量实例 1.添加一个循环计数器 2.添加一个循环 循环次数是根据随机变 ...

  7. mysql udf提权实战测试

    根据前天对大牛们的资料学习,进行一次mysql udf提权测试. 测试环境: 受害者系统:centos 7.7 ,docker部署mysql5.6.46, IP:192.168.226.128 攻击者 ...

  8. swarm 集群

    1.创建manage节点 $docker swarm init --advertise-addr=192.168.0.38(主机ip) To add a worker to this swarm, r ...

  9. ipc.Client: Retrying connect to server: .../10.0.0.27:10020. Already tried 6 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)

    运行 时候爆出这个错 Exception in thread "main" java.io.IOException: java.net.ConnectException: Call ...

  10. NOIP 2002 产生数

    洛谷 P1037 产生数 https://www.luogu.org/problemnew/show/P1037 JDOJ 1298: [NOIP2002]产生数 T3 https://neooj.c ...