前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >freemarker常用的方法

freemarker常用的方法

作者头像
小周sir
发布2020-01-15 15:31:53
8030
发布2020-01-15 15:31:53
举报
文章被收录于专栏:前端技术开发前端技术开发

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

 整理一些常用的方法

数据遍历

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

代码语言:javascript
复制
假设 users 包含 ['Joe', 'Kate', 'Fred'] 序列:

<#list users as user>
  <p>${user}
</#list>

<#list>必须要按照这样的格式去书写 

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

判断条件  

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

代码语言:javascript
复制
<#if condition>
  ...
<#elseif condition2>
  ...
<#elseif condition3>
  ...
...
<#else>
  ...
</#if>
condition, condition2, 等:将被计算成布尔值的表达式。

创建变量

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

代码语言:javascript
复制
<#assign name1=value1 name2=value2 ... nameN=valueN>

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

案例

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

代码语言:javascript
复制
<#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官网

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档