ftl(在 FreeMarker 模板中)判断对象是否存在及判断对象内容是否为空

简介 需求:ftl判断对象是否存在及判断对象内容是否为空比如我的:${adConfig.adContent}怎么写?在FreeMarker模板中,您可以使用条件语句来判断对象是否存在以及对象的内容是否为空。以下是一些常见的判断方法:1.判断对象是否存在:  使用`??`运算符来检查对象是否存在。2.判断对象内容是否为空:  使用`?has_content`运算符来

🔔🔔🔔好消息!好消息!🔔🔔🔔

有需要的朋友👉:联系凯哥 微信号 kaigejava2022

需求:

ftl判断对象是否存在及判断对象内容是否为空 比如我的:${adConfig.adContent} 怎么写?

在 FreeMarker 模板中,您可以使用条件语句来判断对象是否存在以及对象的内容是否为空。以下是一些常见的判断方法:


1. 判断对象是否存在:

   使用 `??` 运算符来检查对象是否存在。


2. 判断对象内容是否为空:

   使用 `?has_content` 运算符来检查对象的内容是否为空。


结合这两个运算符,您可以编写如下的 FreeMarker 代码来判断 `adConfig` 对象是否存在,以及 `adConfig.adContent` 是否为空:

<#if adConfig?? && adConfig.adContent?has_content>
    <p>${adConfig.adContent}</p>
<#else>
    <p>广告内容不存在或为空</p>
</#if>


 解释:

`adConfig??`:检查 `adConfig` 对象是否存在。

 `adConfig.adContent?has_content`:检查 `adConfig.adContent` 是否存在且不为空。


详细说明:

`??` 运算符:用于检查变量是否存在。如果变量存在,则返回 `true`,否则返回 `false`。

`?has_content` 运算符:用于检查变量是否存在且不为空。如果变量存在且不为空字符串、非空集合、非空映射等,则返回 `true`,否则返回 `false`。


 示例:

假设 `adConfig` 对象存在,但 `adConfig.adContent` 为空字符串:

<#assign adConfig = { "adContent": "" }>
<#if adConfig?? && adConfig.adContent?has_content>
    <p>${adConfig.adContent}</p>
<#else>
    <p>广告内容不存在或为空</p>
</#if>


输出将是:

<p>广告内容不存在或为空</p>


假设 `adConfig` 对象存在,且 `adConfig.adContent` 为 "这是一个广告内容":

ftl
<#assign adConfig = { "adContent": "这是一个广告内容" }>
<#if adConfig?? && adConfig.adContent?has_content>
    <p>${adConfig.adContent}</p>
<#else>
    <p>广告内容不存在或为空</p>
</#if>


输出将是:

<p>这是一个广告内容</p>


通过这种方式,您可以确保在 FreeMarker 模板中安全地处理对象的存在性和内容的非空性。


TopTop