Confluence:从param访问多个值

时间:2013-06-10 13:16:50

标签: confluence

我正在尝试在汇合中创建一个用户宏,根据用户输入创建许多链接(可能很多)。我使用的2个参数如下:

## @param LNK:title=Link|type=string|required=true|multiple=true
## @param TTL:title=Title|type=string|required=true|multiple=true

用户将输入以下内容:

  Link: link_1, link_2, link_3
  Title: title_1, title_2, title_3

宏应该创建一个这样的链接列表:

<a href="http://mysite.com/link_1">title_1</a>; <a href="http://mysite.com/link_2">title_2</a>....

我的问题是:如何访问LNK/TTL param的内容,以便我可以检索link_1, link_2, etc。我需要获得某种索引才能正确link LNK[1] to TTL[1]

欢迎任何帮助!

谢谢!

1 个答案:

答案 0 :(得分:3)

好的,所以我找到了一种方法(看起来有点复杂)来做我需要的。这是代码:

## @param VTP:title=VTP Number|type=string|required=true|multiple=true|desc=VTP number from JIRA (ex: VTP-1)
## @param TCI:title=Test Case Identifier |type=string|required=true|multiple=true|desc=Test Case Identifier (ex: IN_TC01)

#set ($LVTP = [])
#set ($LTCI = [])
#set ($VTP = $paramVTP.split(";"))
#set ($TCI = $paramTCI.split(";"))

#foreach ($element in $VTP)
    #set ($xxx = $LVTP.add($element))
#end

#foreach ($element in $TCI)
    #set( $xxx = $LTCI.add($element))
#end

#set ($end = ($LVTP.size() - 1))

#foreach ($i in [0..$end])
     [<a href="http://myconfluence.com/browse/$LVTP.get($i)" target="_blank">$LTCI.get($i)</a>]
#end

我必须这样做,因为它似乎是通过$VTP and $TCI循环在Confluence中访问数组内容(在我的情况下为#foreach)的唯一方法。 arrays.asList之类的东西对我不起作用。

如果有人有更优雅的解决方案,请告诉我。