FreeMarker中assign指令的用法
assign
assign指令在前面已经使用了多次,它用于为该模板页面创建或替换一个顶层变量,
assign指令的用法有多种,包含创建或替换一个顶层变量,或者创建或替换多个变量等,
它的最简单的语法如下:
<#assign name=value [in namespacehash]>,
这个用法用于指定一个名为name的变量,该变量的值为value,
此外,FreeMarker允许在使用assign指令里增加in子句,
in子句用于将创建的name变量放入namespacehash命名空间中.
assign指令还有如下用法:
<#assign name1=value1 name2=value2 ... nameN=valueN [in namespacehash]>,
这个语法可以同时创建或替换多个顶层变量,此外,还有一种复杂的用法,
如果需要创建或替换的变量值是一个复杂的表达式,
则可以使用如下语法格式:
<#assign name [in namespacehash]>capture this</#assign>,
在这个语法中,是指将assign指令的内容赋值给name变量.如下例子:
<#assign x>
<#list ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"]as n>
${n}
</#list>
</#assign>
${x}
上面的代码将产生如下输出:
星期一 星期二 星期三 星期四 星期五 星期六 星期天
虽然assign指定了这种复杂变量值的用法,但是我们也不要滥用这种用法,
如下例子:
<#assign x>Hello ${user}!</#assign>,
以上代码改为如下写法更合适:
<#assign x="Hello ${user}!">
FreeMarker中assign指令的用法相关推荐
- CMake中include指令用法介绍
转载于: https://blog.csdn.net/liitdar/article/details/81144461 本文主要介绍CMake中include指令的用法. 1 概述 引用CMake官 ...
- FreeMarker四种变量的用法
原文:http://www.656463.com/article/286 摘要: freemarker的变量可以分为四种,分别是数据模型的变量[root中的变量],模板中的变量使用[<#assi ...
- Freemarker标签assign
assign assign指令在前面已经使用了多次,它用于为该模板页面创建或替换一个顶层变量, assign指令的用法有多种,包含创建或替换一个顶层变量,或者创建或替换多个变量等, 它的最简单的语法如 ...
- Freemarker中如何遍历List
Freemarker中如何遍历List(附源码) 关键词(Keyword):Freemarker,Freemarker遍历list 在Freemarker应用中经常会遍历List获取需要的数据, ...
- freemarker中local和assign标签区别
local 概要 <#local name=value> 或 <#local name1=value1 name2=value2 ... nameN=valueN> 或 < ...
- freemarker标签里面的一些用法
最常用的概念 1. scalars:存储单值 字符串:简单文本由单或双引号括起来. 数字:直接使用数值. 日期:通常从数据模型获得 布尔值:true或false,通常在<#if ->标记中 ...
- Freemarker的list指令和内建函数
Freemarker的list指令和内建函数 1.list指令 代码中对变量goodsList赋值 List goodsList=new ArrayList();Map map=new HashMap ...
- freemarker中运算符_freemarker常见语法大全
FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format} ${book.name?if_exists } //用于判断如果 ...
- linux入门(三)常见Linux指令及其用法
一.上回说到说到Linux的shell指令运行的原理,这回我们来看看Linux中shell的权限管理,所谓的"权限"是指某一类人做某一件事的权利. 在shell中这一类人被分为了三 ...
最新文章
- 【PC工具】更新github下载加速器,github项目辅助下载工具,github高速下载
- windos 为什么会突然服务停止了_Windows服务异常自动关闭
- android studio 中 .9.png的制作
- 边缘计算在天猫精灵云应用上的落地实践
- Spark MLlib学习笔记之二——Spark Mllib矩阵向量
- MySQL优化:数据量很大,分页查询很慢,有什么优化方案?
- [转载] Java Formatter toString()方法与示例
- Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty
- lua 获取网络时间_Lua脚本引擎教程:学习路线
- [读书笔记]流畅的Python(Fluent Python)
- java大数据开发做什么你知道吗?大数据的职业发展规划
- QT 打印中文字符显示C2001:常量中有换行符解决办法
- MTK Http Socket GPRS以及解析器和下载器概述
- 2023最新网络安全书单推荐——助你从零基础入门到成为网络安全工程师到进阶首席安全官
- 号称下一代消息中间件!来看看它有多牛逼
- Apple 公司开发者账号添加团队成员
- 65Z5芯片,65Z5三极管,稳压输出3V的IC资料
- 手机内存卡数据删除怎么恢复?sd卡数据恢复教程
- 【leetcode热题100】刷题记录(5-8)
- python输出十六进制大小写_Python学习任务2十六进制和大小写转换
热门文章
- wxWidgets:多文档界面实例
- wxWidgets:wxStdOutputStreamBuffer类用法
- wxWidgets:更新到最新版本的 wxWidgets
- Boost.Signals2 的有序插槽 hello world 示例
- boost::sort相关的测试程序
- boost::hana::decltype_用法的测试程序
- boost::geometry::centroid用法的测试程序
- boost::checked_delete的测试程序
- Boost:使用accumulator_set <>和std :: for_each()计算一些有用的统计信息
- VTK:几何对象之OpenVROrientedCylinder