如何在groovy中为字符串构建URL并添加到列表中



我有一个类似下面ticketList的列表,需要一个带有的超链接的ResultList

ticketList=[JR8908、JR7676、JR7687、JR8798]

我想要结果结果列表:【JR8908、JR7676、JR7687、JR8798】

超链接将是-http://localhost:8080/browse/ticketID

每个票的终点都会改变,它将是票ID

尝试的代码:

ticketList = ["JR8908","JR7676","JR7687","JR8798"]
finalList = [] 
ticketList.eachWithIndex { ticket, index ->
println ticket
replacedstring = ticket.replaceAll("$ticket", "<a href='http://localhost:8080/browse/$ticket'>$ticket</a>")
finalList.add(replacedstring)
}
println finalList

决赛结果如下:

[<a href='http://localhost:8080/browse/JR8908'>JR8908</a>, <a href='http://localhost:8080/browse/JR7676'>JR7676</a>, <a href='http://localhost:8080/browse/JR7687'>JR7687</a>, <a href='http://localhost:8080/browse/JR8798'>JR8798</a>]

但是,我想要它像:〔JR8908,JR7676,JR7687,JR8798〕

将collect与字符串插值一起使用:

def ticketList = ["JR8908","JR7676","JR7687","JR8798"]
def finalList = ticketList.collect{ "<a href='http://localhost:8080/browse/$it'>$it</a>" }
assert finalList.toString() == '[<a href='http://localhost:8080/browse/JR8908'>JR8908</a>, <a href='http://localhost:8080/browse/JR7676'>JR7676</a>, <a href='http://localhost:8080/browse/JR7687'>JR7687</a>, <a href='http://localhost:8080/browse/JR8798'>JR8798</a>]' 

变量格式:

replacedstring = ticket.replaceAll($ticket, "<a href='http://localhost:8080/browse/$ticket'>${ticket}</a>")

看起来您希望输出为字符串,但您的代码正在打印列表。您必须反复查看列表:

finalList.each { println it }

如果你想要超链接,你必须把它放在HTML中。

最新更新