<#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}!">
上一篇: 姐姐生宝宝住院
下一篇: javaBean分析
推荐阅读
-
【解决】could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network
-
对TensorFlow的assign赋值用法详解
-
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object
-
JavaScript 复制对象与Object.assign方法无法实现深复制
-
iOS---OBJC_ASSOCIATION_ASSIGN可能引起的Crash
-
JavaScript对象拷贝与Object.assign用法实例分析
-
faster-rcnn错误信息 : tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [21] rhs s
-
引用、浅拷贝及深拷贝 到 Map、Set(含对象assign、freeze方法、WeakMap、WeakSet及数组map、reduce等等方法)
-
解决Maven打包时报错"The packaging for this project did not assign a file to the build artifact"
-
ios开发什么情况下使用assign,copy,retain,strong,weak