在GSP中使用JSTL标记

时间:2011-07-31 22:32:40

标签: grails groovy jstl gsp

我正在尝试在GSP中使用c:url 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')}

我收到错误:

  

评估表达式时出错[c.url(value:'j_spring_security_check')]   on [27]:无法在null对象上调用方法url()

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

1 个答案:

答案 0 :(得分:1)

事实证明问题是这个声明:

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

由于某些原因,如果它被添加到布局中它不起作用,它必须出现在GSP本身中。当taglib的JAR的依赖项添加到/web-app/WEB-INF/tld

时,taglib的.tld神奇地出现在BuildConfig.groovy