freemarker:简单介绍

日期:2019-11-26编辑作者:动漫动画

Apache Free马克尔模板引擎:Java库来扭转文书输出(HTML网页,电子邮件,配置文件,源代码,等等)基于模板和浮动的多寡。模板都写在FreeMarker模板语言(FTL),那是三个简易的、特意的语言(不是二个成熟的编制程序语言(比方PHP)。你要兵马未动粮草先行未雨计划的数额显示在三个当真的编程语言,有如数据库查询和做事情的测算难题,然后模板已经酌量好的数目标显得。模板中你关切怎么样显示数据,和表面包车型地铁沙盘你关怀怎么着数据。

 <a <#if topic.isCollect?? && topic.isCollect=="y">
        class="topic-favo favo-cur"  <#else> class="topic-favo" </#if>
        id="${topic.id}" href="javascript:void(0);"><i class="iconfont">&#xe672;</i></a>


<ul>

<#list  topThreeTopicList as  topic>
     <#if topic_index == 0>
     <li class="topic-list-item topic-list-item1" data-url="#">
         <a href="#"><img src="${topic.topicImage}"></a>
         <#else>
         <li class="topic-list-item " data-url="#">
             <a href="${basepath}/topic/detail/${topic.id}"><img src="${topic.topicImage}"></a>
     </#if>

         <div class="floatl">
             <p class="name text-ellipsis">${topic.topicName}</p>
             <p class="date"><i class="iconfont">&#xe606;</i>${topic.topicPeriod}</p>
         </div>
         <div class="flaotr">
             <p><i class="iconfont">&#xe610;</i>${topic.pageView}</p>
             <p>${topic.isCollect!""}  <a <#if topic.isCollect?? && topic.isCollect=="y">
                     class="topic-favo favo-cur"  <#else> class="topic-favo" </#if>
                     id="${topic.id}" href="javascript:void(0);"><i class="iconfont">&#xe672;</i></a>${topic.collect}</p>

         </div>
     </li>
 </#list>
</ul>





<p class="mb2">
    ${template.browseNum}浏览/${template.downloadNum}下载
    <#if  template.nowPrice!="0.00"&&template.score=0 >

                             <i class="iconfont">&#xe617;</i>${template.nowPrice}

    <#elseif template.nowPrice=="0.00"&&template.score=0>

                                    <i class="iconfont">&#xe616;</i>免费

    <#else>

                                    <i class="iconfont">&#xe618;</i>${template.score}

    </#if>
</p>

 

必赢优惠大厅官网 1

 

这种措施平日被称呼MVC(模型-视图-调控器)格局,并为动态网页非常受接待。它推进分离网页设计员(HTML笔者)从开荒者(Java程序员日常)。在模板设计者不会直面复杂的逻辑,能够更正页面的外观没有必要程序员改过或重新编写翻译代码。

Free马克尔最早创立时生成HTML页面在MVC web应用程序框架,它不是绑定到servlet或东西的HTML或上述。它的非web应用程序景况中利用。

 

必赢电子游戏娱乐,假定你在二个网址必要一个HTML页面,相通于:

必赢优惠大厅官网, 

< html >
<头>
<标题>欢迎! < /名称>
< / >头
<身体>
<标题>欢迎John Doe ! < / h1 >
< p >我们的最新产品:
< a href = "产品/ greenmouse。html " >绿色鼠标< / > !
< /身体>
< / html >

但客户的称谓(下边包车型大巴“约翰Doe”)决计于登陆的客户是何人,和新颖的付加物消息应该来自三个数据库。因为那个数额变化,你不能或不能够选拔静态HTML。相反,您能够应用三个模板所需的输出。模板是同样的静态HTML,除了它包涵部分限令Free马克尔使其动态:

 

< html >
<头>
<标题>欢迎! < /名称>
< / >头
<身体>
<标题>欢迎$ { user } ! < / h1 >
< p >我们的最新产品:
< a href = " $ { latestProduct.url } " > $ { latestProduct.name } < / > !
< /身体>
< / html >

模板存款和储蓄在Web服务器上,日常就好像静态HTML页面。但每当有人访问这一个页面,Free马克尔插足,将纯HTML的沙盘动态替换${...}s与新型的剧情,并将结果发送到访谈者的Web浏览器。所以访谈者的浏览器将接纳雷同HTML(即首先个例证。纯HTML没有Free马克尔指令),它不会发觉到Free马克尔在服务器上使用。(当然,模板文件存款和储蓄在Web服务器上未曾改观,替换只现出在Web服务器的响应)。

当心,模板不分包编制程序逻辑来寻找当下的客人是何人,或查询数据库得到新型的产品。要出示的数额希图Free马克尔外,平日通过有个别写在局地“真实”编制程序语言(如Java)。模板笔者不必知道这几个值是什么样总结的。事实上,这一个值的揣摸划办公室法得以完全改换了模版能够保险完全相通,并且,完全改观了页面包车型大巴外观不会凌驾其余东西,但模板。表示逻辑与业务逻辑的分别能够特地有用,当模板笔者(设计员)和程序猿都以差别的村办,但也推动处理应用程序的头昏眼花,若是她们是同一位。保持模板聚集在陈说难点(视觉设计,布局和格式)是壹生死攸关的管事运用像Free马克尔模板引擎。

必赢437登录,粮草先行有备无患的上上下下数量称为数据模型的模板。模板作者来说,数据模型是二个树状结构(如硬盘上的文书夹和文书),而在这里种气象下,能够可视化为:

(根)
|
+ -用户=“大乔”
|
+ - latestProduct
|
+ - url =“产品/ greenmouse.html”
|
+ - name =“绿色鼠标”
注意:

 

注意:

以上只是八个可视化;数据模型的文本格式,它从Java对象。对于Java程序员,根也许是四个Java对象getUser()getLatestProduct()主意,或然三个JavaMap"user""latestProducts"钥匙。同样的,latestProduct大概是贰个Java对象getUrl()getName()方法。

早些时候,你从那么些数据模型的取舍值,userlatestProduct.name表明式。假使我们一连类比数据模型如同叁个文件系统,然后“(根)”,latestProduct相应的目录(文件夹),user,urlname文件的目录。

席卷、模板和数据模型的急需Free马克尔生成输出(如首先次展现的HTML):

模板+ 数据模型的= 输出

 

Free马克尔多少个亮点:

  • 有力的模版语言:条件块、迭代、作业、字符串和算术运算和格式化,宏和函数,包涵此外模板,掩盖在私下认可情状下(可选),和不菲越多

  • 多用项和轻量级:零正视,任何输出格式,能够从任哪里方加载模板(可插入),多数布局选项

  • 国际化/ localization-aware:语言碰着敏感的多寡和日期/时间格式,局地模板的更换。

  • XML管理效果:删除XML DOM-s到数据模型的遍历,甚至以宣称的方法管理它们

  • 通用的数据模型的:Java对象洞穿在模板变量通过可插入适配器的树,那决定模板怎么样对待他们。

 

 

本文由必赢437登录发布于动漫动画,转载请注明出处:freemarker:简单介绍

关键词:

必赢437登录WebGIS最棒实施-2 在WebGIS程序中实现路

启动eclipse,打开FileImport菜单导入demos项目。然后把demos增到web-app项目标依赖项目中 附录 必赢电子游戏娱乐,:    ...

详细>>

必赢437登录陈意映:用我永不凋零的温柔,换你

觉民,假设人生必须每件事都要对前因有个交待,例如您的生要用死作交待,老头子要用妻子作证明,父亲要用外孙...

详细>>

让你的 Android 应用也能聊天

简介 自去年 LeanCloud发布实时通信(IM)服务之后,基于用户反馈和工程师对需求的消化和对业务的提炼,上周正式发...

详细>>

【必赢437登录】如何鉴别真爱

"海上生明月,天涯共此时。情人怨遥夜,竟夕起相思。” 必赢电子游戏娱乐,——张九龄《望月怀远》 在饥饿的年...

详细>>