分享

freemarker学习笔记

 turbow 2015-08-20

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

 

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多