<#function kafkaCacheBackupLoaderProfiles>
<#assign profiles = []>
<#if featureEnabled.createCacheLoader??>
<#assign profiles = profiles + ["kafka-cache-loader"]>
</#if>
<#if featureEnabled.createBackupLoader!false>
<#assign profiles = profiles + ["kafka-backup-loader"]>
</#if>
<#return profiles?join(", ")>
对于以下输入的输入:
"featureEnabled": {
"createCacheLoader": true
}
代码返回:
kafka-cache-loader
"featureEnabled": {
}
代码返回:
<an empty profiles array>
"featureEnabled": {
"createCacheLoader": false
}
代码返回:
kafka-cache-loader
<an empty profiles array>
,因为 createCacheLoader 为 false<#if (featureEnabled.createCacheLoader)??>
,但结果与上面所示相同。如果我们谈论另一个表达方式:
<#if featureEnabled.createBackupLoader!false>
代码按预期工作,即如果 createBackupLoader
是 false or null
它不会打印 kafka-backup-loader
。如果 true
则打印 kafka-backup-loader
我想我在这里遗漏了一些概念。
我认为你应该使用它:
<#if (featureEnabled.createCacheLoader)?has_content&&featureEnabled.createCacheLoader>