2

我正在尝试在融合中创建一个用户宏,它根据用户输入创建许多链接(可以是很多链接)。我使用的 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参数的内容以便检索link_1, link_2, etc.? 我需要获取某种索引,以便我可以正确link LNK[1] to TTL[1]

欢迎任何帮助!

谢谢!

4

1 回答 1

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

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

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

于 2013-06-12T10:22:26.100 回答