【发布时间】:2021-06-27 04:40:09
【问题描述】:
import org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter
这个库已经导入并在 Grails 2.x.x 上运行良好,但是当我尝试在 Grails 4.x 上导入它时 它没有导入!
如何在 Grails 4.x.x 上导入?或者需要一个解决方案。
目前正在使用这个依赖:
compile group: 'org.codehaus.groovy', name: 'groovy-dateutil', version: '2.5.0'
代码:
def buttonDropDown = { attrs, body ->
def id = attrs.id
def r = grailsApplication.mainContext.getBean('org.grails.plugin.resource.ResourceTagLib')
r.require(module: "jquery-ui")
StringBuilder builder = new StringBuilder();
builder.append('<button ')
.append('id="' + id + '">')
.append(body).append('</button>')
StringBuilder jsbuilder = new StringBuilder();
jsbuilder.append(' <script type="text/javascript">')
.append(' $(document).ready(function(){')
.append(' $("#' + id + '").button({icons: {primary: "ui-icon-locked"},text: true);')
.append(' });')
.append('</script>')
def headerWriter = getHeaderWriter()
headerWriter << jsbuilder
out << builder.toString()
}
private getHeaderWriter() {
def gspSitemeshPage = request[GrailsPageFilter.GSP_SITEMESH_PAGE]
def headBuffer = gspSitemeshPage.metaClass.getProperty(gspSitemeshPage, 'headBuffer')
return headBuffer.writer
}
【问题讨论】:
-
此问题适用于 Grails 2.x。还有我的 Grails 4..x
-
org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter不应该存在于 Grails 4.x 中。你想完成什么? -
嗨@JeffScottBrown,我在问题中添加了代码,如果您看到代码,我想您会遇到问题。感谢您的回复。
-
我添加了一个答案。这是无关的,我知道你没有问这个问题,但我希望你会遇到
def r = grailsApplication.mainContext.getBean('org.grails.plugin.resource.ResourceTagLib')的问题。我不希望它在 Grails 4 中起作用。