如何使用具有未定义值的right_pad函数?

时间:2016-04-05 16:31:43

标签: freemarker

我的FTL脚本中有一个元素列表,现在我需要使用带有这些元素的函数right_pad。这适用于存在的元素,但如果元素不存在,则right_pad函数不执行任何操作。

实施例

 [${(listofElements["fieldThatExists"]?right_pad(5))!""}]

假设该字段的值为123,则输出

[123  ]

此字段不存在:

 [${(listofElements["notExistingField"]?right_pad(5))!""}]

然后输出

[]

但我期待这个输出

[     ]

如果字段未定义,如何检索预期值。我知道我可以把

 !"     " 

而不是

 !""

但这还不够,因为右边垫的值不是常数(不总是5)。

1 个答案:

答案 0 :(得分:1)

right_pad放在外面:

[${(listOfElements["fieldThatExists"]!"")?right_pad(5)}]

但由于!的右手操作数是可选的,因此版本较短:

[${listOfElements["fieldThatExists"]!?right_pad(5)}]