`
阅读更多
freemarker里面判断为空只有??,后来查找其他文档才发现原来还有?exists if_exists

<!--判断aaa是否不为空,eclipse插件老报错。--->
<#if aaa??>
  ${aaa}
</#if>

<#if aaa?if_exists>
  aaa不存在!
</#if>

<#if aaa?exists>
  aaa存在,值为${aaa}
</#if>

----
??是判断对象是否为空,例如:<#if object??>object对象不为空(即object存在)</#if>
如:value="<#if outCar.startNumberKm??>${outCar.startNumberKm}<#elseif startNumberKmByLast??>${startNumberKmByLast} <#else>0</#if>"
?后面要加关键字,例如:<#if object?exists>object对象不为空</#if>
<#if str??>${str?string}</#if><#--将str以字符串形式显示-->
${nowDate?time}<#--将现有时间以时间的格式显示,显示结果如:15:13:05-->
${nowDate?date}<#--以日期格式显示,如:2011-4-28-->(date的格式可以在freemarker.properties文件中配置)
----
freemarker中显示某对象使用${name}.
但如果name为null,freemarker就会报错。如果需要判断对象是否为空:
<#if name??>
……
</#if>
当然也可以通过设置默认值${name!""}来避免对象为空的错误。如果name为空,就以默认值(“!”后的字符)显示。

对象user,name为user的属性,这时user,name都有可能为空,可以写成${(user.name)!""},表示user或者name为null,都显示为空("")。
判断为空 eg:<#if (user.name)??>
分享到:
评论

相关推荐

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

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

    freemarker基本语法整理

    如果变量为空,可以使用 `?if_exists` 进行判断,例如 `${student.name?if_exists}`。如果需要提供默认值,可以使用 `?default` 语法,例如 `${student.name?default('xxx')}`。 在日期格式方面,Freemarker 提供了...

    Freemarker操作字符串

    FreeMarker支持`&lt;#if&gt;`、`&lt;#elseif&gt;`、`&lt;#else&gt;`等条件判断,可以对字符串进行条件处理。例如: ```html ("Doe")&gt; 姓名包含"Doe" 姓名不包含"Doe" ``` 8. **模板中的循环**: 使用`&lt;#list&gt;`可以遍历...

    freemarker实现自动补齐字符串

    freemarker实现自动补...通过ftl模版文件(ftl文件为freemarker模版文件)的自定义标签实现自动补齐字符串。代码稍作修改便可左补齐右补齐左右补齐,可自定义设置补齐的字符串。测试通过java文件调用ftl文件显示结果。

    freemarker语法完整版

    ### Freemarker语法完整版知识点详解 #### A....通过以上详细解释,读者可以更好地理解Freemarker的核心概念、指令用法以及一些常见的技巧和注意事项,从而更高效地使用Freemarker进行模板渲染工作。

    freemarker实现一行两列算法

    3. **插入行**:使用`&lt;#if tag_index % 2 == 0&gt;`条件判断当前元素的索引是否为偶数,如果是则关闭上一个`&lt;tr&gt;`并开启一个新的`&lt;tr&gt;`。 4. **插入单元格**:使用`${tag}&lt;/td&gt;`插入列表元素。 5. **处理最后一行**:...

    Freemarker中遍历list集合实例

    以下是 Freemarker 中遍历 List 集合实例的详细介绍: 一、 Freemarker 中 list 指令简单介绍 要想在 Freemarker 中遍历 List,必须通过使用 list 指令,即 `…&lt;/#list&gt;`。sequence 是集合(collection)的表达式...

    freemarker中文文档

    - 插值的基本形式为 `${expression}`,其中 `expression` 可以是任何有效的**FreeMarker**表达式。 #### 四、其它 ##### 4.1 自定义指令 - **自定义指令**是**Freemarker**提供的一种扩展机制,允许用户定义自己的...

    freemarker语法知识

    3. **插值**:插值是FreeMarker中将变量或表达式替换为实际值的关键机制。有两种基本形式:`${...}`和`#{...}`。前者用于通用插值,后者用于数字格式化插值。当表达式的计算结果为字符串、数字、日期或布尔值时,...

    FreeMarker结合官方文档Demo

    - `#if`和`#else`:用于条件判断,例如检查变量是否为空或满足某种条件。 - `#foreach`:用于遍历集合或数组,循环输出内容。 - `#assign`:定义局部变量,可在模板内部使用。 - `#include`:包含其他模板文件。...

    Freemarker中List的应用

    Freemarker是一个强大的模板引擎,常用于Java应用中的视图层渲染,比如Spring MVC框架...通过阅读《比较好的描述Freemarker的list的文章.doc》,你可以获得更详细、更具体的示例和解释,进一步提升你的Freemarker技能。

    freemarker资料集

    在FreeMarker中,如果尝试访问的对象或属性不存在,通常会返回一个空字符串。但可以通过`?exists`、`?defined`、`?not_null`等操作符来检查值是否存在。另外,可以设置全局或局部的`default`指令,为未定义的变量...

    FreeMarker简体中文参考手册

    - **指令**:详细解释了FreeMarker中的各种指令,如条件语句、循环语句、变量赋值等。 - **表达式**:表达式用于引用数据模型中的对象及属性,以及执行简单的计算。 - **插值**:插值是FreeMarker中一种重要的特性,...

    freemarker获取数据

    default`:提供默认值,如果变量为空则返回指定值,如`${user.email?default('nobody@example.com')}`。 9. 自定义方法:通过实现`TemplateMethodModel`接口,可以在模板中调用自定义方法,扩展Freemarker的功能。 ...

    Freemarker学习总结.pdf

    以下是对Freemarker中Sequence、Hash以及字符串操作函数的详细说明。 一、Sequence的内置函数: 1. `sequence?first`:返回Sequence的第一个元素,如果Sequence为空,返回null。 2. `sequence?last`:返回Sequence...

    超强freemarker使用总结,有示例有讲解,可做快速查询手册!!

    Freemarker 作为一款强大的模板引擎,不仅支持常见的文本输出、循环和条件判断等功能,还提供了丰富的内置函数帮助开发者更灵活地处理数据。通过对本总结的学习,开发者可以迅速掌握 Freemarker 的基本用法,并能够...

    3freemarker指令1

    以下是对`3freemarker指令1`中涉及知识点的详细说明: 1. **ftl的if/else判断语句**: 在Freemarker模板语言中,`if`和`else`指令用于条件判断。基本语法如下: ```freemarker &lt;!-- 当expression为真时执行的...

Global site tag (gtag.js) - Google Analytics