You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Freemarker单if语句多条件判断问题求助

解决方案

你需要将两个条件用逻辑与(&&)合并,同时注意空值检查的顺序(必须先确认locations存在,再访问其内部属性,避免空指针错误)。修正后的代码如下:

<#if _responses["getLinks"]["body"].locations?? 
    && _responses["getLinks"]["body"].locations[0].branch.id != (_map((_responses.getInfo.body.data.cst)?substring(0,3), "cstarray"))>
    true
<#else>
    false
</#if>

逻辑说明

  • 第一个条件_responses["getLinks"]["body"].locations??确保locations属性存在且非空,避免后续访问locations[0]时抛出空值错误。
  • 第二个条件!=判断locations第一个元素的branch.id与cstarray的值不相等。
  • 只有当两个条件同时满足时返回true;其他所有情况(包括locations不存在,或存在但id匹配cstarray)都返回false,正好解决你提到的"已关联"报错问题。

内容的提问来源于stack exchange,提问作者Mick Herber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 04:39:53