[英]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.