我正在尝试在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才能使其正常工作?
答案 0 :(得分:1)
事实证明问题是这个声明:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
由于某些原因,如果它被添加到布局中它不起作用,它必须出现在GSP本身中。当taglib的JAR的依赖项添加到/web-app/WEB-INF/tld
BuildConfig.groovy
中