我遇到了Donal发来的一篇帖子,我认为这个帖子一直在问他但是并没有真正回答这个问题,有点疑惑并想知道是否可能。
如果我有一个标签lib,用户提供控制器操作我希望它然后关闭查询控制器并将结果作为列表返回,我尝试g.include没有运气。我试图在下面对此进行扩展但是对它不太了解,并且如果可能的话,实际上从给定的primaryAction或控制器中的def值中获取值
if (attrs.primaryController && attrs.primaryAction ) {
//def nlist= g.include(controller:'${attrs.primaryController}', action:'${attrs.primaryAction}', id:'${attrs?.primaryId}')
def controllerArtefact = grailsApplication?.getArtefactByLogicalPropertyName("Controller", "${attrs.primaryController}")
def controllerClass = controllerArtefact?.getClazz()
def aaa=controllerClass.declaredFields.each {
it.name=="${attrs.primaryAction}" }
println "-->"+aaa.getMetaPropertyValues().
println "-------------????? ${aaa}"
}
我还想到可能另一种方式是加载包含taglib的gsp的控制器应该能够轻松地将列表作为变量传递到taglib,然后taglib接受attrs.newList并将其表示为名单。
以这种方式做事这个插件抱怨没有id,真的很讨厌,因为插件内部生成的典型列表看起来完全相同。