Apache 免费标记中的字符串比较
String comparision in Apache free marker
我有一个 list
,其中包含以下值。 list
从 restAPI
获取数据。
我知道如何比较记录,但列表有很多值,所以我不知道如何在数组或列表中搜索。例如,列表具有以下值。我需要检查列表中是否存在特定记录。
var items= [
{
"organizationCode": "FP1",
"organizationName": "FTE Process Org"
},
{
"organizationCode": "T11",
"organizationName": "FTE Discrete Org"
},
{
"organizationCode": "PD2",
"organizationName": "Product development Org"
},
{
"organizationCode": "PD1",
"organizationName": "Product1 development Org"
},
{
"organizationCode": "MD1",
"organizationName": "Main development Org"
}
]
I have to search value based on organizationName.
I tried
items.organizationName?contains(<input>)
但不工作
我无法得到任何material所以寻求帮助。
问题是 items.organizationName
已经是一个错误,因为 items
是一个纯粹的列表,所以它没有直接命名的子变量。 (当 items
来自 XML 时,您可能会看到该模式,您可以在其中获得类似的子元素列表。但同样不适用于普通列表。)所以,你需要什么这个表达式是:
items?map(it -> it.organizationName)?seq_contains(input)
有点相关,但有时你想检索匹配项目的列表(所以你也会有 organizationCode
),在这种情况下你应该写 items?filter(it -> it.organizationName == input)
.
请注意,?map
和 ?filter
是在 FreeMarker 2.3.29 中添加的。
另请参阅:
我有一个 list
,其中包含以下值。 list
从 restAPI
获取数据。
我知道如何比较记录,但列表有很多值,所以我不知道如何在数组或列表中搜索。例如,列表具有以下值。我需要检查列表中是否存在特定记录。
var items= [
{
"organizationCode": "FP1",
"organizationName": "FTE Process Org"
},
{
"organizationCode": "T11",
"organizationName": "FTE Discrete Org"
},
{
"organizationCode": "PD2",
"organizationName": "Product development Org"
},
{
"organizationCode": "PD1",
"organizationName": "Product1 development Org"
},
{
"organizationCode": "MD1",
"organizationName": "Main development Org"
}
]
I have to search value based on organizationName.
I tried
items.organizationName?contains(<input>)
但不工作
我无法得到任何material所以寻求帮助。
问题是 items.organizationName
已经是一个错误,因为 items
是一个纯粹的列表,所以它没有直接命名的子变量。 (当 items
来自 XML 时,您可能会看到该模式,您可以在其中获得类似的子元素列表。但同样不适用于普通列表。)所以,你需要什么这个表达式是:
items?map(it -> it.organizationName)?seq_contains(input)
有点相关,但有时你想检索匹配项目的列表(所以你也会有 organizationCode
),在这种情况下你应该写 items?filter(it -> it.organizationName == input)
.
请注意,?map
和 ?filter
是在 FreeMarker 2.3.29 中添加的。
另请参阅: