java中Freemarker assign指令详解
java Freemarker中assign指令为该模板页面创建或替换一个顶层变量。
定义
//第一种方式 <#assign name=value [in namespacehash]>
用于指定一个名为name的变量,该变量的值为value,in子句用于将创建的name变量放入namespacehash命名空间中.
//第二种方式 <#assign name1=value1 name2=value2 ... nameN=valueN [in namespacehash]>
可以同时创建或替换多个顶层变量。
//第三种方式 <#assign name [in namespacehash]> ...... </#assign>
指将assign指令的内容赋值给name变量,主要用于创建或替换的变量值是一个复杂的表达式的这种情况。
例子
1. assign替换变量值
<#assign x> <#list ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"]as n> ${n} </#list> </#assign> ${x}
代码执行输出:
星期一 星期二 星期三 星期四 星期五 星期六 星期天
2. assign迭代Map
<#-- 这里模拟了一个Map集合,定义了三对键值 --> <#assign h = {"name":"mouse", "price":50, "weight":30}> <#-- h?keys 调用了一个包装类的方法,将Map的key取出赋值 --> <#assign keys = h?keys> <#-- ${h[key]} 访问到了Map中的value属性 --> <#list keys as key>${key} = ${h[key]}; </#list>
执行输出:
name = mouse; price = 50; weight = 30;
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。