要自定义应用程序动态电子邮件模板,我们必须使用速度模板1.7
我有一个名为ab-cd-ef-gh的健康规则。前两部分是常量,后两部分是微服务的名称。我想在“ ef”之后显示该部分。请注意,健康规则的长度不是固定的,这意味着从“ ef”开始的部分可以分为2部分,3部分或5部分,具体取决于名称。
我已使用split函数根据定界符'-'进行拆分。
输出变量具有运行状况规则的所有部分。
现在我要从数组的第二个索引开始打印,即从'ef'到数组的结尾。为了获得数组的大小,我使用了#set($ outputsize = $ output.size()),即array.size()。
如何打印从'ef'到数组末尾的部分。
我使用的逻辑如下。
#set ($start=5)
#foreach ($i in [$start..$outputsize])
${arrays.asList($output).get($i)}
但是,我没有得到输出。请帮助我打印服务名称。
答案 0 :(得分:0)
在VTL中,数组和列表是等效的。在这两种方法上,您都可以使用.get(i)
或[i]
访问第ith个元素,或调用.size()
方法。
所以我想
#set ($outputsize = $output.size() - 1)
#set ($start=5)
#foreach ($i in [$start..$outputsize])
$output.get($i)
#end
就足够了,
#set ($outputsize = $output.size() - 1)
#set ($start=5)
#foreach ($i in [$start..$outputsize])
$output[$i]
#end