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