在我的Grails 2.3.8应用程序中,我正在使用包含JSP taglib的Janrain插件。在我的布局顶部GSP我宣布
<%@ taglib prefix="janrain" uri="http://janrain4j.googlecode.com/tags" %>
然后我可以在同一个GSP中使用这个taglib:
<janrain:signInLink styleClass="btn">Login Socially</janrain:signInLink>
但升级到Grails 2.4.0后,我现在收到此错误
Unknown JSP tag janrain:signInLink. Stacktrace follows:
org.codehaus.groovy.grails.web.pages.exceptions.GroovyPagesException: Error applying layout : responsive
at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)
at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
答案 0 :(得分:3)
Grails 2.4 upgrade notes中缺少此信息。我现在已添加:https://github.com/grails/grails-doc/commit/871eec21,docs on build server。
默认情况下不再扫描JSP taglib tld文件。必须使用grails.gsp.tldScanPattern设置进行配置。它接受逗号分隔的String值。 Spring的PathMatchingResourcePatternResolver用于解析模式。
您可以通过将此设置添加到Config.groovy来获取以前的行为:
grails.gsp.tldScanPattern='classpath*:/META-INF/*.tld,/WEB-INF/tld/*.tld'
不再添加JSTL标准库作为依赖项。如果您使用的是JSTL,还应添加这些依赖项:
runtime 'javax.servlet:jstl:1.1.2'
runtime 'taglibs:standard:1.1.2'