之间的区别 ,free_marker中的has_content,if_exists
以下在freemarker中有什么区别?
! has_content ?? if_exists 我用了 ?? 而不是has_content&它导致如此巨大的问题。 搞砸了我的一天。 我真的需要弄清楚这个事情。
当我使用
 !(xyz.abc!)?? -- it dint work 
当我使用
 !(xyz.abc!)?has_content ... it did work 
不? OR has_content或if_exists检查相同的事情?
 ?? 告诉左手操作数的值是否丢失(意味着它是Java null或者您有一个未定义的variables),并相应地返回false (missing)或true (not missing)。 
  ?has_content非常像??  ,除了它也为空string或空列表或空映射返回false 。  (它不会返回0 ,布尔值false等) 
 ! 是用来给一个默认值,当一个值丢失,如color!"no color" 。 如果你省略了右手操作数!  ,那么默认值是空string和空序列,同时是空的哈希。 
  ?if_exists是旧的写作方式??  。 不要使用它。