如何在Velocity中使用string.split后访问数组元素?

dav*_*990 6 arrays velocity

我正在使用Velocity模板语言,目前有:

#set ( $stringList = $string.split(",") )
Run Code Online (Sandbox Code Playgroud)

工作正常,并使用','作为分隔符按预期分割字符串.

我的问题是我现在如何访问$ stringList中的每个元素?

我试过了:

$stringList.get(0)
$stringList[0]
$stringList.[0]
${stringList}.get(0)
Run Code Online (Sandbox Code Playgroud)

我在JIRA中使用Velocity,而JIRA恰好使用Velocity 1.4版,它显然不支持访问数组,如上所述.

任何帮助深表感谢.

小智 6

在Velocity 1.6中测试过.

#foreach ($element in $string.split(";"))
   $element
#end
Run Code Online (Sandbox Code Playgroud)


cen*_*tic 2

当我使用 Arrays.asList() 将数组转换为列表,然后使用列表中的方法访问元素时,它就起作用了。

我将以下内容添加到上下文中:

context.put("arrays", Arrays.class);
Run Code Online (Sandbox Code Playgroud)

在速度模板中我使用:

#set ( $array = $getarray.getArray() )

$arrays.asList($array).get(0)
Run Code Online (Sandbox Code Playgroud)

使用如下字符串数组

new String[] {"test1", "test2", "test3", "test4"};
Run Code Online (Sandbox Code Playgroud)

我得到预期的输出:

test1
Run Code Online (Sandbox Code Playgroud)