`

freemarker判空容错

阅读更多

 http://hw1287789687.iteye.com/blog/2271501

freemarker如何判空容错呢? 

freemark是什么? 
freemark是java后台的模板语言 
如果模板使用vm中没有的变量就会报错 
怎么办呢? 
针对使用场景分为两种:

(1)用于页面显示

 

Html代码   收藏代码
  1. <span class="info-date">${old_order_startTime!'--'}  

 使用感叹号,如果没有设置值,就使用感叹号后面的”–”为默认值 

 

实例: 

 

 

(2)用于if判断

 

Html代码   收藏代码
  1. <#if orderInfo.couponList??>  
  2.                 <#list orderInfo.couponList as ite>  
  3.                     <p>- 红包:&nbsp;  
  4.                         ¥${ite.couponPay}</p>  
  5.                 </#list>  
  6.             </#if>  

 使用形式概览:unsafe_expr??或(unsafe_expr)??

 

这个操作符告诉我们一个值是否存在。基于这种情况,结果是 true 或 false。 示例如下,假设并没有名为 mouse 的变量:

 

Html代码   收藏代码
  1. <#if mouse??> Mouse found  
  2.   
  3. <#else>  
  4.   
  5. No mouse found </#if>  
  6.   
  7. Creating mouse...  
  8.   
  9. <#assign mouse = "Jerry"> <#if mouse??>  
  10.   
  11. Mouse found <#else>  
  12.   
  13. No mouse found </#if>  

 输出为: 

 

No mouse found

Creating mouse…

Mouse found 
访问非顶层变量的使用规则和默认值操作符也是一样的,即 product.color??和 (product.color)?? 

(3)判断时也可以使用默认值



 

 

Html代码   收藏代码
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="UTF-8">  
  5. <title>freemarker demo</title>  
  6. </head>  
  7. <body>  
  8. ${username} <br />  
  9. ${age}<br />  
  10. ${sex!} <br>  
  11. <#if (sex!23) ==23 >  
  12. ok  
  13. <#else>  
  14. no  
  15. </#if>  
  16. </body>  
  17. </html>  

 

(4)比较时必须是同类型的比较

int 和string 类型比较就会报错

freemarker 开发文档见附件

分享到:
评论

相关推荐

    freemarker判断对象是否为空的方法

    然而,在使用FreeMarker时,我们经常需要判断对象是否为空,以避免因引用空对象而导致的错误。本文将详细介绍如何在FreeMarker中进行这种判断。 在FreeMarker中,我们可以使用条件语句`&lt;#if&gt;`来检查对象是否为空。...

    Freemarker中遍历list集合实例

    Freemarker 中遍历 List 集合实例 Freemarker 中遍历 List 集合实例是指在 Freemarker 应用中遍历 List 集合获取需要的数据,并对需要的数据进行排序加工后呈现给用户。以下是 Freemarker 中遍历 List 集合实例的...

    freemarker 自定义freeMarker标签

    本篇将深入探讨如何自定义FreeMarker标签,以扩展其功能并适应特定项目需求。 首先,理解FreeMarker的默认标签语法至关重要。FreeMarker使用${...}表达式来插入变量,#{...}用于输出注释,以及、等控制结构进行条件...

    freemarker Demo 适用于freemarker初学

    Freemarker是一个强大的模板引擎,常用于JavaEE应用中的视图层处理,尤其与Struts2等MVC框架配合使用,能实现灵活的动态页面渲染。这个"freemarker Demo"是一个适合初学者的示例项目,旨在帮助新接触Freemarker的...

    freemarker.jar

    camel-freemarker-1.6.4.jar, camel-freemarker-2.8.1.jar, com.springsource.freemarker-2.3.15.jar, com.springsource.freemarker-sources-2.3.15.jar, freemarker-1.4.1.jar, freemarker-2-3-18.jar, freemarker-...

    freemarker-2.3.23jar

    `freemarker-2.3.23.jar`是Freemarker库的一个版本,发布于2.3.23,这个版本可能包含了对早期版本的一些改进、新功能或bug修复。 Freemarker的核心概念是模板语言,它是一种声明式的编程方式,允许开发者编写不包含...

    freemarker-2.3.28.jar

    这个"freemarker-2.3.28.jar"是Freemarker库的一个具体版本,版本号为2.3.28,它是Java的一个可执行的JAR(Java Archive)文件,用于在Eclipse集成开发环境中作为插件使用。 在Freemarker的2.3.28版本中,我们可以...

    freemarker-ide插件

    Freemarker-IDE是一款专为开发人员设计的Eclipse插件,它主要针对Freemarker模板语言提供了强大的支持。在Eclipse这样的集成开发环境中,这款插件能够显著提升开发人员编写和调试`.ftl`(FreeMarker Template ...

    FreeMarker手册-Freemarker 2.3.18

    FreeMarker 2.3.18是该引擎的一个版本,它提供了一系列的更新和改进,以提高性能和易用性。 1. **模板语言基础** FreeMarker的模板语言是一种声明式的编程方式,它允许开发者通过简单的标记语法来控制输出。这些...

    freemarker

    标题:Freemarker 描述:孔浩的Freemarker视频笔记,值得一看! 根据给定的文件信息,我们可以深入探讨Freemarker的相关知识点,包括其基本概念、工作流程以及具体的代码实现。 ### Freemarker基本概念 ...

    eclipse的freemarker插件

    而Freemarker则是一种轻量级的、基于模板的Java模板引擎,常用于Web应用中的动态内容生成,比如JSP替代技术。它允许开发者将业务逻辑与页面展示分离,提高代码的可维护性和可读性。 "eclipse的freemarker插件"是指...

    FreeMarker2.3.23官方中文文档

    2.3.23是FreeMarker的一个稳定版本,这个版本的官方中文文档提供了全面的指导和说明,帮助开发者更好地理解和使用这个模板语言。 在FreeMarker的核心概念中,它是一个基于数据驱动的模板语言。这意味着,开发者不...

    freemarker-2.3.30-API文档-中文版.zip

    赠送jar包:freemarker-2.3.30.jar; 赠送原API文档:freemarker-2.3.30-javadoc.jar; 赠送源代码:freemarker-2.3.30-sources.jar; 赠送Maven依赖信息文件:freemarker-2.3.30.pom; 包含翻译后的API文档:...

    freemarker-2.3.31-API文档-中文版.zip

    赠送jar包:freemarker-2.3.31.jar; 赠送原API文档:freemarker-2.3.31-javadoc.jar; 赠送源代码:freemarker-2.3.31-sources.jar; 赠送Maven依赖信息文件:freemarker-2.3.31.pom; 包含翻译后的API文档:...

    Freemarker操作字符串

    在本文中,我们将深入探讨如何使用FreeMarker来操作字符串。 FreeMarker的工作原理是将模板(HTML或XML文件)与数据模型(通常是Java对象)相结合,生成最终的输出。模板中包含了可替换的占位符,这些占位符由...

    FreeMarker

    FreeMarker的设计理念是将表现层(视图)和业务逻辑层(控制器)分离,从而实现MVC(Model-View-Controller)架构中的“View”部分。 FreeMarker的核心概念是模板文件,这是一种特殊的文本文件,其中包含可替换的...

    freemarker解析成pdf

    1. **创建模板**:在Freemarker中,我们需要创建一个`.ftl`(Freemarker Template Language)文件,其中包含静态文本和动态占位符。动态占位符由${}或#{}包裹,用于插入数据模型中的值。例如,`${title}&lt;/h1&gt;`会将...

Global site tag (gtag.js) - Google Analytics