在FTL模板中按索引访问元素

sha*_*eed 8 freemarker

需要访问模板中列表的第一个和第二个元素.

我的Java代码:

myMap.put("key", Arrays.asList("val1", "val2");
Run Code Online (Sandbox Code Playgroud)

我的FTL模板:

<#list myMap?keys as key> 
${myMap[key][0]}, ${myMap[key][1]}
Run Code Online (Sandbox Code Playgroud)

< - 上面的行在myMap [key] [0]上以未定义的表达式失败.我查了一下,myMap [key]是一个SimpleSequence.另外,试过$ {myMap [key]?first}并且失败并出现同样的错误.有任何想法吗?

dde*_*any 4

[0][1]对此很好,但看起来序列要么有 0 个元素,要么这些元素是null。打印什么${myMap[key]?size}?顺便说一句,${myMap[key][0]!'some default'}如果您想获取一个值,即使该项目不存在或null.