欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

<#assign>

程序员文章站 2022-07-02 17:30:20
assign assign指令在前面已经使用了多次,它用于为该模板页面创建或替换一个顶层变量, assign指令的用法有多种,包含创建或替换一个顶层变量,或者创建或替换多个变量等, 它的最简单的语法如下: <#assign name=value [in namespacehash]>, 这个用法用于 ......

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}!">