freemarker常用的方法

爱⌒轻易说出口 提交于 2020-01-08 16:46:00

FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。

 

 

 整理一些常用的方法

数据遍历

通过freemarker提供的遍历方法list,users就是要遍历的对象,user遍历之后返回的值

假设 users 包含 ['Joe', 'Kate', 'Fred'] 序列:

<#list users as user>
  <p>${user}
</#list><#list>必须要按照这样的格式去书写 

如果想取值的限制,比如取前五个那就是对 users[0..4],和数组一样,都是从0开始的

判断条件  

freemarker也提供的有对条件的判断和原生的js差不多,都是通过if else 去判断

<#if condition>
  ...
<#elseif condition2>
  ...
<#elseif condition3>
  ...
...
<#else>
  ...
</#if>condition, condition2, 等:将被计算成布尔值的表达式。

创建变量

freemarker为了方便存储一个变量,也给我们提提供了一个变量的方法,

 

<#assign name1=value1 name2=value2 ... nameN=valueN>

 

name:变量的名字。 它不是表达式。而它可以写作是字符串,如果变量名包含保留字符这是很有用的, 比如 <#assign "foo-bar" = 1>。 value就是值;

 

案例

通过实现以一个,让你理解这个方法的用法

<#if ( (Hotwz??) && (Hotwz?size>0))>
                <#list Hotwz[0..2] as HotwzList>
                    <#list HotwzList.coverImagesList[0..0] as Attach>
                        <#if ( (Attach??) && (Attach?size> 0))>
                            <a href="https://dxshare.dianzhenkeji.com/recommend/article/1/${HotwzList.articleId}"
                                class="recommand_list">
                                <div class="news_desc">
                                    <div class="title"> ${HotwzList.contentTitle} </div>
                                    <div class="desc"> <span>${HotwzList.articleOrigin} |</span>
                                        <span>${HotwzList.publishTime?date}</span> </div>
                                </div>
                                <div class="news_img"> <img src="${Attach.url}" alt="">
                                </div>
                            </a>

                        </#if>
                    </#list>

                </#list>
                <#else>
            </#if>

其中Hotwz就是要遍历的对象,判断if条件然后取前三个,(Attach??) && (Attach?size> 0)  是来判断是否有值,长度是的大于0,满足这两个条件,才执行${HotwzList.contentTitle},然后就是取值,必须${}这种格式取值,contentTitle自己在后台定义的字段名称

以上都是在网页中常用的方式,如果想了解更多,可以取参考http://freemarker.foofun.cn/toc.html官网

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!