我在过滤器中使用以下语句
如果(g.cookie(名称: 'ABC'))
它会提示错误: *
groovy.lang.MissingPropertyException:没有这样的属性:g for class: com.AFilters可能的解决方案:登录 com.AFilters $ _closure1_closure4_closure10.doCall(AFilters.groovy:77) 在java.lang.Thread.run(Thread.java:679)
*
我是否必须导入一些类才能使用该语句? 我在控制器中使用它不会产生任何错误
答案 0 :(得分:0)
你必须注入grailsApplication
并获得相应的bean。
有关详细信息,请参阅Can I use grails tag outside of GSP?。
答案 1 :(得分:0)
您始终可以注入grailsApplication等。
但是对于目前的情况,我没有看到任何使用taglib的理由,因为控制器可以访问请求和cookie。尝试:
if (request.cookies.find { it.name == 'abc' }) {
}
答案 2 :(得分:0)
在控制器中,您应该能够直接使用tagLib代码,而不使用.g
前缀。
if(cookie(name:'abc'))