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指令的用法相关推荐

  1. CMake中include指令用法介绍

    转载于:  https://blog.csdn.net/liitdar/article/details/81144461 本文主要介绍CMake中include指令的用法. 1 概述 引用CMake官 ...

  2. FreeMarker四种变量的用法

    原文:http://www.656463.com/article/286 摘要: freemarker的变量可以分为四种,分别是数据模型的变量[root中的变量],模板中的变量使用[<#assi ...

  3. Freemarker标签assign

    assign assign指令在前面已经使用了多次,它用于为该模板页面创建或替换一个顶层变量, assign指令的用法有多种,包含创建或替换一个顶层变量,或者创建或替换多个变量等, 它的最简单的语法如 ...

  4. Freemarker中如何遍历List

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

  5. freemarker中local和assign标签区别

    local 概要 <#local name=value> 或 <#local name1=value1 name2=value2 ... nameN=valueN> 或 < ...

  6. freemarker标签里面的一些用法

    最常用的概念 1. scalars:存储单值 字符串:简单文本由单或双引号括起来. 数字:直接使用数值. 日期:通常从数据模型获得 布尔值:true或false,通常在<#if ->标记中 ...

  7. Freemarker的list指令和内建函数

    Freemarker的list指令和内建函数 1.list指令 代码中对变量goodsList赋值 List goodsList=new ArrayList();Map map=new HashMap ...

  8. freemarker中运算符_freemarker常见语法大全

    FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format} ${book.name?if_exists } //用于判断如果 ...

  9. linux入门(三)常见Linux指令及其用法

    一.上回说到说到Linux的shell指令运行的原理,这回我们来看看Linux中shell的权限管理,所谓的"权限"是指某一类人做某一件事的权利. 在shell中这一类人被分为了三 ...

最新文章

  1. 【PC工具】更新github下载加速器,github项目辅助下载工具,github高速下载
  2. windos 为什么会突然服务停止了_Windows服务异常自动关闭
  3. android studio 中 .9.png的制作
  4. 边缘计算在天猫精灵云应用上的落地实践
  5. Spark MLlib学习笔记之二——Spark Mllib矩阵向量
  6. MySQL优化:数据量很大,分页查询很慢,有什么优化方案?
  7. [转载] Java Formatter toString()方法与示例
  8. Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty
  9. lua 获取网络时间_Lua脚本引擎教程:学习路线
  10. [读书笔记]流畅的Python(Fluent Python)
  11. java大数据开发做什么你知道吗?大数据的职业发展规划
  12. QT 打印中文字符显示C2001:常量中有换行符解决办法
  13. MTK Http Socket GPRS以及解析器和下载器概述
  14. 2023最新网络安全书单推荐——助你从零基础入门到成为网络安全工程师到进阶首席安全官
  15. 号称下一代消息中间件!来看看它有多牛逼
  16. Apple 公司开发者账号添加团队成员
  17. 65Z5芯片,65Z5三极管,稳压输出3V的IC资料
  18. 手机内存卡数据删除怎么恢复?sd卡数据恢复教程
  19. 【leetcode热题100】刷题记录(5-8)
  20. python输出十六进制大小写_Python学习任务2十六进制和大小写转换

热门文章

  1. wxWidgets:多文档界面实例
  2. wxWidgets:wxStdOutputStreamBuffer类用法
  3. wxWidgets:更新到最新版本的 wxWidgets
  4. Boost.Signals2 的有序插槽 hello world 示例
  5. boost::sort相关的测试程序
  6. boost::hana::decltype_用法的测试程序
  7. boost::geometry::centroid用法的测试程序
  8. boost::checked_delete的测试程序
  9. Boost:使用accumulator_set <>和std :: for_each()计算一些有用的统计信息
  10. VTK:几何对象之OpenVROrientedCylinder