FreeMarker四种变量的用法
2013-05-11 19:42
162 查看
原文:http://www.656463.com/article/286
摘要: freemarker的变量可以分为四种,分别是数据模型的变量【root中的变量】,模板中的变量使用【<#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的变量可以分为四种,分别是数据模型的变量【root中的变量】,模板中的变量使用【<#assign>定义的变量】,局部变量【在指令中的变量】,循环变量【在循环中的变量】
freemarker的变量可以分为四种,分别是数据模型的变量【root中的变量】,模板中的变量使用【<#assign>定义的变量】,局部变量【在指令中的变量】,循环变量【在循环中的变量】 数据模型的变量【root中的变量】 直接从模型中给模板传值的变量就是数据模型的变量,它把变量的值放在一个map中,在模板中直接可以用。
模板中的变量,是使用<#assign定义的变量,如果模板中定义的变量和模型中的变量名称一致,不是覆盖,而是隐藏
使用local可以声明局部变量
在list循环中定义的变量,循环中的变量只在循环中有效,也是一种临时的变量定义方式
|
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四种变量的用法
- FreeMarker四种变量的用法
- FreeMarker四种变量的用法
- FreeMarker四种变量的用法
- FreeMarker四种变量的用法
- FreeMarker四种变量的用法
- Java模板引擎FreeMarker系列之七FreeMarker四种变量的用法
- 【FreeMarker】四种变量的用法
- FreeMarker四种变量的用法
- freemarker四种变量
- FreeMarker中的自定义指令和四种变量
- PHP对变量进行序列化的方法大比拼 四种序列化变量的方法
- php中smarty变量修饰用法实例分析
- Freemarker内置函数和用法
- 交换两个变量的值,不使用第三个变量的四种法方法
- Typedef的四种用法
- C/C++变量的分类,static的用法
- C++中四种对象生存期和作用域以及static用法总结
- C++中的引用变量用法总结
- php中$_SERVER变量的意义及用法说明