gpt4 book ai didi

grails - 在Grails 2.1中似乎无法再覆盖Application TagLib

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

在基于grails 2.0.4的应用程序中,我们覆盖了grails ApplicationTagLib。迁移到grails 2.1.0之后,ApplicationTagLib的改写不再起作用。在我们的gsp中,返回的结果为空。

这是我们使用的简化TagLib:

class CustomizedGrailsTagLib implements ApplicationContextAware {
// grails native taglib classes
def applicationTagLib

void setApplicationContext(ApplicationContext applicationContext) {
applicationTagLib = applicationContext.getBean('org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib')
}

def createLink = { attrs ->
// call native create link after modifications
def link = applicationTagLib.createLink.call(attrs)
return link
}
}

调试时,我们会看到变量链接具有正确的值(例如/ enterprise20 / user / showImage / 7)。但是随后在gsp中,输出为空。

GSP call :
${createLink(controller:'user', action:'showUser', id: userInstance.id)}

最佳答案

与其返回值,不如尝试将其写入out:

def createLink = { attrs ->
// call native create link after modifications
def link = applicationTagLib.createLink.call(attrs)
out << link
}

关于grails - 在Grails 2.1中似乎无法再覆盖Application TagLib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11781999/

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