freemarker中8个常用的指令
这里列举出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个常用的指令的更多相关文章
- 工作中常用Git指令操作
常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...
- Vue.js中的常用的指令缩写
Vue.js为两个最为常用的指令提供了特别的缩写: v-bind缩写 <!--完整语法--> <a v-bind:href="url">测试</a&g ...
- freemarker中使用<@spring.*>标签实现国际化
freemarker实现国际化使用自定义指令<@spring>实现,通过@符号可以看出是自定义的指令,在哪里定义的呢? 路径如下:org/springframework/spring-we ...
- linux常用操作指令
Linux常用操作指令: 常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(a ...
- Freemarker中遍历List以及内置函数使用
在Freemarker应用中经常会遍历List获取需要的数据,并对需要的数据进行排序加工后呈现给用户. 那么在Freemarker中如何遍历List,并对List中数据进行适当的排序呢?一. Free ...
- Linux 下 expect 脚本语言中交互处理常用命令
Linux 下 expect 脚本语言中交互处理常用命令 1. #!/usr/bin/expect 告诉操作系统脚本里的代码使用那一个 shell 来执行.这里的 expect 其实和 Linux 下 ...
- Freemarker中如何遍历List
Freemarker中如何遍历List(附源码) 关键词(Keyword):Freemarker,Freemarker遍历list 在Freemarker应用中经常会遍历List获取需要的数据, ...
- git 详细教程和常用操作指令
git 内部工作原理图 如上图,git 一般可以分为三个区:工作区.暂存区.版本库,通常类似 git add等命令都是与index 暂存区的交互,git commit指令则是 index 与版本库的交 ...
- freemarker中对null值问题的处理
1. freemarker不支持null. 如果值为null会报错. 2.当值为null的处理 1)过滤不显示 Hello ${name!} 在属性后面加感叹号即可过滤null和空字符串 if和”?? ...
随机推荐
- Java 并发学习总结
目录 基础篇 进阶篇 并发编程的的三个概念(特性)? JMM(Java 内存模型) volatile 关键字 1. Java 内存模型(为什么要有 volatile) 2. volatile 原理 追 ...
- Python基础23(习惯)
自己写的大段代码,注释分为两种: 一种 # 顶格写,为后注释," Ctrl+/ " 一种为边写边注释
- Lucene queryParser和analysis有什么不同?
在Lucene1.4.3中,queryParser和analysis分成独立的两个包,queryParser作用是解析查询语句,analysis作用是分词,queryParser在解析查询语句的时候会 ...
- 高强度学习训练第二天总结:Opencv+Android+CameraView小demo
前言:网上已经有很多人将Opencv集成进Android项目中了.因此我只给大家看Gradle文件和项目目录. 1.gradle 三个gradle script // Top-level build ...
- Webpack相关原理浅析
基本打包机制 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(de ...
- rt-thread can
rt-thread stm32f10x-HAL can的驱动和应用.源码暂时还不支持,自己通过F4修改了一版 源码地址:https://gitee.com/gitee.thomas/rt_can rt ...
- EFLAGS寄存器(标志寄存器)
这篇文章不是从0开始的,前面还有一些汇编基础指令以及进制,我都没写,时间问题,还是今天空闲,我才想补一下博文,后面我陆续会把前面知识点渐渐补上.我不会重0基础讲起,中间会以.汇编.C.C++交叉的形式 ...
- 8.如何自己设计一个类似 Dubbo 的 RPC 框架?
作者:中华石杉 面试题 如何自己设计一个类似 Dubbo 的 RPC 框架? 面试官心理分析 说实话,就这问题,其实就跟问你如何自己设计一个 MQ 一样的道理,就考两个: 你有没有对某个 rpc 框架 ...
- MarkdownPad 2破解
MarkdownPad 2 是一款较不错的Markdown编辑器,可快速将文本转换为美观的HTML/XHTML的网页格式代码,且操作方便,用户可以通过键盘快捷键和工具栏按钮来使用或者移除Markdow ...
- 详解MongDB数据库
NoSQL 若杀死进程应使用pkill 数据设计模式:分布式.非关系型.不提供ACID 特性:简单数据模型.源数据和应用数据分离.弱一致性 优势: 避免不必要的复杂性 高吞吐量, 高 水平扩展能力和低 ...