`
sskhnje
  • 浏览: 16520 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
文章分类
社区版块
存档分类
最新评论

freemark标签

 
阅读更多

<#list animals as being> 

 <tr><td>${being.name}<td>${being.price} Euros 

 </#list>

 

<#include "/copyright_footer.html">

 

 

<#list animals as being> 

 <tr> 

 <td> 

 <#if being.size == "large"><font size="+1"></#if> 

 ${being.name} 

 <#if being.size == "large"></font></#if> 

 <td>${being.price} Euros 

 </#list> 

 

处理不存在的变量

不论在哪里引用变量,都可以指定一个默认值来避免变量丢失这种情况,通过在变量名

后面跟着一个!和默认值。就像下面的例子,当 user 从数据模型中丢失时,模板将会将

user 的值表示为字符串”Anonymous”。(若 user 并没有丢失,那么模板就会表现

出”Anonymous”不存在一样): 

 

<h1>Welcome ${user!"Anonymous"}!</h1>

 

 当然也可以在变量名后面通过放置??来询问 FreeMarker 一个变量是否存在。将它和 if

指令合并,那么如果 user 变量不存在的话将会忽略整个问候代码段: 

 

<#if user??><h1>Welcome ${user}!</h1></#if>

 

 关于多级访问的变量,比如 animals.python.price ,书写代码:

animals.python.price!0,仅当 animals.python 存在而仅仅最后一个子变

量 price 可能不存在(这种情况下我们假设价格是 0)。如果 animals 或者 python

不存在,那么模板处理过程将会以“未定义的变量”错误而停止。为了防止这种情况的发生,

可以这样来书写代码(animals.python.price)!0。这种情况下当 animals 或

python 不存在时表达式的结果仍然是 0。对于??也是同样用来的处理这种逻辑的:

animals.python.price??对比(animals.python.price)??来看。

分享到:
评论

相关推荐

    Freemark标签

    主要介绍了freemark标签的相关基础知识,基本上了解Freemark标签的应用

    freemark标签运用

    ### Freemark标签运用知识点 #### 一、Freemarker简介 Freemarker 是一款功能强大的模板引擎,由 Apache 软件基金会所维护的一个开放源码项目。它主要用于生成动态 HTML 页面,但也支持生成 XML、Java 源代码等...

    freemark标签使用

    ### freemarker 标签详解:提升Web开发效率与灵活性 #### 1. Include标签:高效复用模板 **功能概述:** `Include` 标签是Freemarker中一个非常实用的功能,它允许开发者在多个页面间共享相同的布局或组件,如页头...

    freemark 自定义标签 总结

    自定义标签是Freemarker的一个重要特性,它允许开发者扩展模板语言的功能,以满足特定项目的需求。本篇文章将对Freemarker自定义标签进行深入的总结。 1. **自定义标签基础** 自定义标签在Freemarker中被称为`...

    FreeMarker标签使用

    FreeMarker标签使用FreeMarker标签使用FreeMarker标签使用FreeMarker标签使用

    freemark自定义标签

    NULL 博文链接:https://carolli.iteye.com/blog/1387704

    Freemark模板使用

    在JSP页面中,你可以使用`&lt;%@ taglib %&gt;`指令引入刚刚定义的标签库,然后像普通HTML标签一样使用`&lt;mytag:myTag&gt;`(这里的`myTag`需要替换为你的标签名称)来调用自定义的Freemark逻辑。 总结一下,Freemark模板的...

    freemarker 自定义freeMarker标签

    3. 使用自定义标签:在模板文件中,你可以像使用内置标签一样使用你的自定义标签。例如,如果你注册了一个名为`myCustomTag`的自定义指令,你可以在模板中这样使用:`...

    freemark 生成静态页面

    关于标签中提到的`JDK1.6`,这意味着该项目兼容Java 6版本。尽管目前较新的Java版本已经发布,但许多老项目可能仍然基于Java 6,因此选择这个版本是为了确保广泛的兼容性。 在实际开发中,FreeMarker的使用场景广泛...

    freemark模板&模版技术

    2. 自定义标签库:支持自定义标签,可以扩展模板语言的功能。 3. 国际化支持:通过不同的消息资源文件实现多语言输出。 4. 缓存机制:提高性能,减少对服务器资源的消耗。 5. 高级控制结构:包括条件判断、循环、...

    FreeMark中文教程标签参考大全.rar

    - **自定义标签**:当需要扩展功能时,可以通过自定义标签实现。这部分可能会涉及到FreeMarker的API和标签库的创建。 4. **参考手册** - **函数和方法**:FreeMarker提供了丰富的内置函数,如`html`用于转义HTML...

    test_Freemark freemark的基础入门小程序

    在这个"test_Freemark freemark的基础入门小程序"中,我们将探讨Freemarker的基本概念、语法以及如何通过运行`Test.java`来生成`test_freemark.html`文件。 1. **Freemarker模板引擎基础**: Freemarker是基于模板...

    freeMark if嵌套

    它允许开发者使用模板语言(如`&lt;#if&gt;`)来控制逻辑,与数据模型结合生成输出。在FreeMarker中,`&lt;#if&gt;`语句用于进行条件判断,如果表达式的值为真,则执行相应的代码块。在某些情况下,我们可能需要在`&lt;#if&gt;`语句...

    Java使用freemark生成word

    FreeMarker支持更复杂的功能,如宏、指令、自定义标签等,这使得模板可以处理更复杂的逻辑。同时,Apache POI库提供了丰富的API,用于对Word文档进行更细致的控制,比如插入图片、设置样式等。 总结,使用Java和...

    freemark 2.3.19 中文教程

    3. **国际化(Internationalization)**: FreeMarker支持多语言,通过`&lt;#t&gt;`或`&lt;#lt&gt;`标签进行日期和时间格式化,`&lt;#trans&gt;`处理翻译。 4. **自定义函数和指令(Custom Tags and Directives)**: 可以通过扩展...

    freemark官方插件2

    标签"freemark官方插件2"再次强调了这是FreeMarker官方提供的插件,并且是系列中的第二个。官方插件通常具有较高的可靠性和与核心库的良好兼容性,开发者可以放心使用,因为它们会得到官方的支持和维护。 在压缩...

    java freemark list嵌套导出word

    对于嵌套列表,可以使用嵌套的`&lt;#list&gt;`标签,如: ```html ${item.name} ${child.name} ``` 这里`items`是顶层列表,`item.children`是嵌套列表。 5. **Word文档格式化** FreeMarker模板不仅可以...

    Java html转word 使用FreeMarker

    通常,Word模板会遵循Open XML标准,这样FreeMarker就能识别并处理其中的标签。同时,这个描述中还提到了转换为PDF格式,虽然FreeMarker本身不直接支持PDF生成,但可以结合其他库,如Apache POI或iText,先用...

    spring mvc freemarker 自定义标签

    自定义标签是Freemarker的一个强大特性,它可以帮助我们更好地组织视图层代码,提高代码复用性,使得模板更加模块化。下面将详细介绍Spring MVC与Freemarker自定义标签的使用。 首先,我们需要了解Freemarker的基础...

    freemark 简要使用说明

    FTL指令可以有开始、结束标签和空标签形式,并且需要正确嵌套,如同XML标签。如果使用了不存在的指令,FreeMarker会产生错误消息,而非输出模板。 在模板实例中,`&lt;#list&gt;`指令用于迭代列表,如遍历`animals`并打印...

Global site tag (gtag.js) - Google Analytics