在Freemarker中,如果要判断序列中是否包含某个指定的元素,可以使用freemarker的内建函数seq_contains。
注:seq_contains这个内建函数从FreeMarker 2.3.1 版本开始可用。而在2.3 版本中不存在。
使用示例:
- <#--声明一个序列,包含若干个元素-->
- <#assign x = ["red", 16, "blue", "cyan"]>
- <#--使用seq_contains判断序列中的元素是否存在-->
- "blue": ${x?seq_contains("blue")?string("yes", "no")}
- "yellow": ${x?seq_contains("yellow")?string("yes", "no")}
- 16: ${x?seq_contains(16)?string("yes", "no")}
- "16": ${x?seq_contains("16")?string("yes", "no")}
输出结果:
- "blue": yes
- "yellow": no
- 16: yes
- "16": no
附:seq_前缀在这个内建函数中是需要的,用来和contains 区分开。contains函数用来在字符串中查找子串(因为变量可以同时当作字符串和序列)。
相关推荐
判断字符串是否包含某个子串,返回布尔值。 ```html ${string.contains("substring")} ``` 13. **number** 将字符串转换为数字。 ```html ${string.number} ``` 14. **replace(find, replacement)** ...
- `condition`在`<#if>`、`<#elseif>`和`<#else>`中定义条件判断,根据条件决定是否输出某个部分。 - `<#list hash_or_seq as var>`遍历哈希表或集合(序列)中的元素,`var`作为当前项的引用。 - `...
- **条件语句**:`<#if>`、`<#else>`、`<#elseif>`用于根据条件决定是否输出某部分内容。 - **循环**:`<#foreach>`用于遍历序列或哈希的元素。 - **函数和方法**:FreeMarker支持自定义函数和调用对象的方法,...
size:获取序列中元素的个数 下面是数字值的常用内建函数 int:取得数字的整数部分,结果带符号 例如: ${test?html} ${test?upper_case?html} 结果是:Tom & Jerry TOM & JERRY 1.10 空值处理运算符 ...
- **List**:用于遍历序列,`item`表示当前元素,`item_index`为索引,`item_has_next`检查是否还有后续元素。 - **Include**:包含其他模板文件,可以传递参数和设置解析选项。 3. **常用方法或注意事项** - **...
例如,可以根据某个变量是否为空来决定是否显示某些内容。 - **循环**:`<#list hash_or_seq as var>` 用于遍历哈希表或集合。通过这种方式,可以轻松地遍历数据模型中的列表或哈希表来生成重复的元素。 - **宏**...
- **`seq_contains`**:判断序列中是否包含指定元素。 - **`is_sequence`**:判断给定的对象是否为序列类型。 - **`contains`**:判断一个集合是否包含指定元素。 - **`substring`**:获取字符串的一部分。 - **`...
-- 对序列中的每个元素执行这里的代码 --> ``` 同时,Freemarker还提供了额外的功能,如`item_index`和`item_has_next`,帮助更好地控制循环流程。 #### 4. 模板包含:include 通过`include`指令可以在一个...
- **Freemarker是否包含某个字段**:可以通过条件判断来检查是否存在。 #### Jsp - **Tomcat目录**:通常包括bin、conf、lib、webapps、work等目录。 - **Tomcat启动**:通过启动脚本如`startup.sh`或`startup.bat`...