gpt4 book ai didi

grails - 在grails中,如何使用gsp从一组域对象中构建一个用逗号分隔的链接列表?

转载 作者:行者123 更新时间:2023-12-02 14:18:04 26 4
gpt4 key购买 nike

基本上我想要的是:

<g:fancyJoin in="${myList}" var="item" separator=", ">
<g:link controller="foo" action="bar" id="${item.id}">${item.label}</g:link>
</g:fancyJoin>

和为
def mylist = [[id:1, label:"first"], [id:2, label:"second"]] 

它应该输出:
<a href="foo/bar/1">first</a>, <a href="foo/bar/2">second</a>

此标签与现有连接标签之间的主要区别在于,在执行连接操作之前,我需要它基本上对初始列表进行收集和应用标签

最佳答案

您可以定义一个自定义标签,例如:

def eachJoin = {attrs, body ->
def values = attrs.remove('in')
def var = attrs.remove('var')
def status = attrs.remove('status')
def delimiter = attrs.remove('delimiter')

values.eachWithIndex {entry, i ->
out << body([
(var ?: 'it') : entry,
(status ?: 'i') : i
])

if(delimiter && (i < values.size() - 1)) {
out << delimiter
}
}
}

用法:
<g:eachJoin in="${myList}" var="item" delimiter=", ">
<g:link controller="foo" action="bar" id="${item.id}">${item.label}</g:link>
</g:eachJoin>

关于grails - 在grails中,如何使用gsp从一组域对象中构建一个用逗号分隔的链接列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7747579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com