在控制器中使用g标签

时间:2012-04-11 09:36:03

标签: grails filter tags

我在过滤器中使用以下语句

  

如果(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)

*

我是否必须导入一些类才能使用该语句? 我在控制器中使用它不会产生任何错误

3 个答案:

答案 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'))