FreeMarker模板包含及名称空间

2018-12-06|来源: 黄奕能

FreeMarker模板包含及名称空间,主要是为了模板的重用。使用<#include>包含其他模板,如果包含多个模板,可能会出现同名变量被覆盖的问题。可以使用import来完成导入,并且加入名称空间


模板11.ftl包含/inc/inc1.ftl和/inc/inc2.ftl

inc1.ftl:

<#assign  username="张三">

<#macro test>

   hello world

<#macro>

/inc/inc2.ftl:

<#assign username="李四">

11.ftl的模板及输出:

<#include style="color:black">

<#include style="color:black">

${username}

李四

从上面的例子中可以看出使用incldue会出现同名变量被覆盖的问题,可以使用import来完成导入,并且加入名称空间(名称空间其实就是给引入的模板起一个名称)

<#import style="color:black">

<#import style="color:black">

${inc2.username}

${inc1.username}

   李四

   张三

在11.ftl中,也可在定义模板变量时指定其所属的名称空间(inc2或inc1,不能凭空捏造),且此时就必须使用"名称空间.变量名"的方法访问了

<#--<>将一个变量定义到名称空间中-->

<#assign age="12">

${inc2.age}

12

访问名称空间中的自定义指令

在inc1.ftl中有一个自定义的指令test,访问方式如下:

<#--<>访问名称空间中的自定义指令-->

<@inc1.test>

hello world


本文链接:FreeMarker模板包含及名称空间,本文由huangyineng原创,转载请注明出处

相关问答

更多

java freemarker用模板生成静态html页面

freemarker是data+model=输出。需要替换你模型的所有代号的,替换一次就行了,你的asp的eval实际上也是替换

计算机java freemarker模板文件语法

${user} ${latestProduct.url} ${latestProduct.name}

Java web 程序设计: 在数据库中建立一个表:T_BOOK,包含图书ID、图书名称、图书价格。

涉及到页面不刷新技术,这是在考察AJAX,在页面写入AJAX,利用AJAX进行访问action,调用action里的方法,要在页面写好JS

QQ空间

怎么让自己空间更漂亮,免费空间 如果想要免费的,我这边有几个,你可以试试,步骤: 打开空间- 装扮空间- 在QQ商城搜索栏内输入: 皮肤: 最美的花. 夜光. 幸福的故事. 那年的歌. 如此的爱 动画: 幽夜幕. 月光马. 分享. 导航:摘星. 深海奥妙. 流金岁月 播放器:BLUE 1、打开你的空间,点装份空间>>>在查找那里[请输入关键字]输入“马”查找。 ******************问问一号原创 转载请说明(不断更新中)****************** 2、打开你的空间,点装份空 ...

FreeMarker里如何像jsp一样用<% %>调用java代码,如果不能,有什么方法可以实现

不能使用java代码,只能使用el表达式,来输出展示数据.. freemarker 的原则或初衷: 数据+模板=输出 模板就是 freemarker了,这样程序员就不能把大量java代码写入, 美工和程序员 工作就可以独立了

freemarker教程

相关文章

更多

最近更新

更多