我一直在互联网上搜索有关父/子关系嵌套标签的文档,但到目前为止我什么也没得到。我想了解的是,这样的自定义“父”标签是否可以了解其“子”
<mytag:parent source="${somelist}">
<mytag:child column="name" style="padding-left:10px">
</mytag>
<mytag:child column="surname" style="padding-left:10px">
</mytag>
</mytag>
在此示例中,父标记获取集合,子标记分别通过调用 somelist.name
和 somelist.surname
打印其给定列。我是否必须解析 DOM 才能了解子项,或者我可以通过“groovy”代码以某种方式接触到子项吗?
最佳答案
<mytag:parent>
应该将自己的上下文/数据作为请求范围属性(或页面范围),通过 <mytag:child>
处理它,并在结束标记上将其删除。喜欢:
static final CONTEXT = this.class.name
def parent = { attrs, body ->
def data = [
name: 'test 1',
surname: 'test 2' // i guess you want to load this values from attr.source
]
request.setAttribute(CONTEXT, data)
out << body.call()
request.removeAttribute(CONTEXT)
}
def child = { attrs, body ->
def data = request.getAttribute(CONTEXT)
out << 'name: '
out << data.name
out << 'surname: '
out << data.surname
}
关于Grails 嵌套标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10812290/