grails - 在 GSP 中使用 JSTL 标签

标签 grails groovy jstl gsp

我正在尝试使用 c:url GSP 中的 JSTL 标记。我在 GSP 布局的顶部添加了以下声明:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

我还添加了 jstl-1.1.2.jar作为依赖。当我在 GSP 中调用此标签时:
${c.url(value: 'j_spring_security_check')}

我收到错误:

Error evaluating expression [c.url(value: 'j_spring_security_check')] on line [27]: Cannot invoke method url() on null object



根据Grails docs ,JSP标签应该支持方法风格的标签调用,所以我认为这不是问题。我是否需要在 Grails 应用程序的某处包含 JSTL taglib 的 TLD 才能使其正常工作?

最佳答案

事实证明,问题出在这个声明上:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

出于某种原因,如果将其添加到布局中,则它不起作用,它必须出现在 GSP 本身中。 taglib 的 .tld 神奇地出现在 /web-app/WEB-INF/tld 中当对 taglib 的 JAR 的依赖添加到 BuildConfig.groovy

关于grails - 在 GSP 中使用 JSTL 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6892767/

相关文章:

java - 使用 JSTL 导致更改时出现 deferredExpression 错误

java - 使用 JSTL 以嵌套方式设置 JSP 属性?

grails - 如何在每个测试中更改类的metaClass

mysql - Grails 中非法混合排序规则 (cp1251_general_ci,IMPLICIT) 和 (latin1_swedish_ci,COERCIBLE)

mysql - 从 Groovy 运行多个 SQL 语句

java - Gradle 没有找到 tools.jar

logging - 有没有一种干净的方法来记录 Groovy 中方法的结果?

java - Eclipse 警告 : fmt:formatDate and html:hidden must be empty

grails - Grails 3.3.10和URL中的异常行为

java - 在war文件中的WEB-INF之外创建配置属性文件