Freemarker判断序列中是否包含某个元素

在Freemarker中,如果要判断序列中是否包含某个指定的元素,可以使用freemarker的内建函数seq_contains。

注:seq_contains这个内建函数从FreeMarker 2.3.1 版本开始可用。而在2.3 版本中不存在

 

使用示例:

Freemarker代码   收藏代码
  1. <#--声明一个序列,包含若干个元素-->  
  2. <#assign x = ["red"16"blue""cyan"]>  
  3. <#--使用seq_contains判断序列中的元素是否存在-->  
  4. "blue": ${x?seq_contains("blue")?string("yes""no")}  
  5. "yellow": ${x?seq_contains("yellow")?string("yes""no")}  
  6. 16: ${x?seq_contains(16)?string("yes""no")}  
  7. "16": ${x?seq_contains("16")?string("yes""no")}  

输出结果:

Freemarker代码   收藏代码
  1. "blue": yes  
  2. "yellow": no  
  3. 16: yes  
  4. "16": no  

附:seq_前缀在这个内建函数中是需要的,用来和contains 区分开。contains函数用来在字符串中查找子串(因为变量可以同时当作字符串和序列)。

你可能感兴趣的:(Freemarker)