gpt4 book ai didi

grails - 转义 Grails 呈现 XML 构建器命名冲突

转载 作者:行者123 更新时间:2023-12-01 10:08:00 25 4
gpt4 key购买 nike

例如:

def list = {
books = Book.findAll(...)
render(contentType: 'text/xml') {
books(count: books.size()) {
for(book in books) {
book(id: book.id) {
title(book.title)
}
}
}
}
}

使用booksbook 作为节点会导致命名冲突。我知道我可以重命名所有内容以防止出现问题,但是有没有办法转义节点以防止出现问题并保持干净的命名约定?

最佳答案

Hubert Klein Ikkink 发布了一篇带有替代解决方案的博客文章:

Groovy Goodness: Solve Naming Conflicts with Builders

他建议在节点名称前添加 delegate,这样示例将变为:

def list = {
books = Book.findAll(...)
render(contentType: 'text/xml') {
delegate.books(count: books.size()) {
for(book in books) {
delegate.book(id: book.id) {
title(book.title)
}
}
}
}
}

关于grails - 转义 Grails 呈现 XML 构建器命名冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8638745/

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