`
javatar
  • 浏览: 1711409 次
  • 性别: Icon_minigender_1
  • 来自: 杭州699号
社区版块
存档分类
最新评论

FreeMarker准备在2.4版中加入新的指令#template

    博客分类:
  • HTTL
阅读更多
FreeMarker准备在2.4版中加入新的指令#template, 用于上下文隔离包含模板. 与原有的#include相对应, #include为上下文内包含(内嵌)模板.

然而, 大家对这一新指令的命名都极不赞同.

首先template是一个名词, 不适合用于包含这样一个动作性指令名.
Attila Szegedi 回复的邮件 写道
Sorry for nitpicking, but shouldn't such a directive rather be a verb? 
I.e. #load, #render, #execute come to mind. Using a noun (#template) sounds as if you're defining something (see: #macro, #function, etc.).


中间引出大量回复, 给出了n多方案, 如:
#subtemplate, #safeinclude, #load, #exec, #render, #do. #process, #merge, #embed

赞同较多的是: #render, #process, #embed
但render(渲染)与图形学上的概念混淆, 表意不清.
process(处理)太过泛化, 这个词感觉什么地方都可用.
embed(嵌入)是比较合理的. 但似乎应该与现有的include指令名换一个才恰当. 因为embed才表示在当前上下文执行, include表示包含内容(在不同上下文执行).
Daniel Dekany 回复的邮件 写道
Should I replace all application of #include with #embed in the 2.4 Manual? #include was one of the first few directives introduced (in the Getting Started chapter). I suppose now we should propagate #embed instead. Also I wonder if #include should be deprecated in 2.4.


最后结论还没出来, 但对CommonTemplate(http://commontemplate.org)的设计很有借鉴意义, 现在CommonTemplate采用inline(内联)表示同上下文包含, include(包含)表示上下文隔离包含, 似乎将inline改成embed会更合理些, 可能会在下一版本进行变更.
2
2
分享到:
评论

相关推荐

    FreeMarker模版PPT

    FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具 在简单的HTML中加入了一些由${…}包围的特定代码,这些特定代码是FreeMarker的指令,而包含FreeMarker的指令的文件就称为模板(Template)

    freemarker生成doc方案.zip

    在Maven项目中,可以在pom.xml文件中加入以下依赖: ```xml <groupId>org.freemarker <artifactId>freemarker <version>2.3.30 ``` 然后,创建`freemarker.Configuration`实例,配置模板目录,并加载模板...

    FreeMarker技术指南

    模板引擎的出现正是为了解决将逻辑和表现混合在一起的问题,它允许在HTML页面中加入特定指令,这些指令在页面输出时会被适当的数据所替代,从而实现动态内容的生成。 FreeMarker是一个用于生成文本输出的Java类库,...

    freemark开发指南详解

    - **模板设计**:保持模板简洁,避免在模板中加入过多的逻辑。 - **错误处理**:合理设置Freemarker的错误处理策略,以便于调试和异常捕获。 - **性能优化**:合理使用缓存,减少不必要的模板加载和解析。 - **...

    jfinal pdf文档

    - 首先,在开发环境中创建一个新的 Java 项目。 - 确保你的开发环境已经配置好 Java 开发环境。 **2. 放入 JFinal 库文件** - 下载 JFinal 最新版本的库文件,将其加入项目的 classpath 中。 - 可以通过 Maven 或者...

    Jfinal-3.2手册

    如果选择后者,可以在项目的 pom.xml 文件中加入 JFinal 的依赖项。 **1.3 修改 web.xml** 为了确保 JFinal 正确地初始化并接管请求处理,需要在项目的 web.xml 文件中配置 JFinal 的 Servlet 容器初始化参数。这...

    FTL入门文档学习

    FTL通过在HTML或其它文本中加入特定指令,使得页面可以动态显示数据。 FTL的基本语法规则: * `<# ... >` 中存放所有 FTL 的内容,之外的内容全部原样输出。 * `<@ ... />` 是函数调用,两个定界符内的内容中,第...

Global site tag (gtag.js) - Google Analytics