0

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

如果(g.cookie(名称:'abc'))

它提示错误:*

groovy.lang.MissingPropertyException: No such property: g for class: com.AFilters 可能的解决方案: 登录 com.AFilters$_closure1_closure4_closure10.doCall(AFilters.groovy:77) at java.lang.Thread.run(Thread.java:679 )

*

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

4

3 回答 3

0

您必须注入grailsApplication并获取相应的bean。

请参阅我可以在 GSP 之外使用 grails 标记吗?了解更多信息。

于 2012-04-11T09:50:38.703 回答
0

你可以随时注入 grailsApplication 等。

但是对于目前的情况,我没有看到任何使用 taglib 的理由,因为控制器可以访问请求和 cookie。尝试:

if (request.cookies.find { it.name == 'abc' }) {
}
于 2012-04-11T09:57:30.560 回答
0

在控制器中,您应该能够直接使用 tagLib 代码,而无需使用.g前缀。

if(cookie(name:'abc'))
于 2012-04-11T10:02:25.427 回答