[英]Grails: Call taglib from g:if tag
我有一个自定义标记库,它返回一个布尔对象,以便我的GSP可以决定是否显示一段HTML。 我想使用g:if标签来检查这个布尔值,因为我还需要检查一些其他值(在taglib中不可访问)。 但是,我不知道如何从标签中实际调用taglib?
我试过了:
<g:if test="${<custom:tag/> && other.boolean}">
但这会引发错误。
我也尝试过:
<g:if test="<custom:tag/> && ${other.boolean}">
但这也会引发错误。
taglib是怎样的? 看它的用法应该如下:
class SomeTagLib {
static namespace = "custom"
static returnObjectForTags = ['tag']
def tag = { attrs, body ->
//returns an object (can be boolean)
}
}
默认情况下,taglibs将返回StreamCharBuffer 。 如果你需要返回一个对象(如你的情况那样用作条件语句的一部分),我猜你需要如上所示的returnObjectFromTags
。 它指定哪个标记偏离默认行为并返回一个对象。
另外,你应该使用Tim提到的taglib:
<g:if test="${custom.tag() && other.boolean}"> //should be the appropriate way
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.