gpt4 book ai didi

freemarker - 之间的区别?? freemarker 中的 、 has_content 、 if_exists

转载 作者:行者123 更新时间:2023-12-03 05:40:15 41 4
gpt4 key购买 nike

freemarker 中以下内容有什么区别?

!
has_content
??
if_exists

我用过??而不是 has_content & 它会导致如此巨大的问题。搞砸了我的一天。我真的需要澄清这件事。

当我使用时

!(xyz.abc!)?? -- it dint work

当我使用时

!(xyz.abc!)?has_content ... it did work 

不是吗??或 has_content 或 if_exists 检查相同的事情?

最佳答案

?? 告诉左侧操作数的值是否丢失(意味着它是 Java null 或者那里有一个 undefined variable ),并返回 false (缺失)或true (没有缺失)相应地。

?has_content 非常像 ?? ,除了它还返回 false对于 0 长度字符串或空 FTL 序列(如 java.util.List 、Java 数组等)或空 FTL 哈希(如 java.util.Map 等)。 (对于 false 、 bool 值 0 等,它不会返回 false 等)

! 用于在缺少值时给出默认值(同样意味着它是 Java null 或者您有 undefined variable ),例如 color!"no color" 。如果省略 ! 的右侧操作数,那么默认值同时是一个空字符串、空序列和空哈希(多类型值),这对于编写像 <#list things! as thing> 这样的东西很方便, ${foo!} .

?if_exists 是旧的写法?? 。不要使用它。

当我们在这里时,请注意所有这些运算符仅涵盖点或 [] 的最后一步。表达式,如user.price!0仅处理 if price user 中缺失,但如果user则不然本身失踪了。要涵盖这两种可能性,请使用 (user.price)!0 ,它处理 () 评估期间抛出的所有缺失变量错误。 ,无论他们来自哪里。

关于freemarker - 之间的区别?? freemarker 中的 、 has_content 、 if_exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23552151/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com