gsp - Return Boolean value from Grails Tablib? -
this question has answer here:
- grails: call taglib g:if tag 1 answer
i created custom grails tablib:
def hasrole = { attrs, body -> boolean result = false if (attrs.roles) { if (springsecurityutils.ifanygranted(attrs.roles)) { result = true } } out << result } this can used this:
${cust.hasrole(roles:'role_admin') ? 'yes' : 'no' } the problem comparison alway results yes. seams expression not evaluated correctly.
the returning class type of hasrole org.codehaus.groovy.grails.web.util.streamcharbuffer.
how above expression evaluated correctly such hasrole() returns boolean value?
the key going use of returnobjectfortags in taglib. default tag library outputs information output writer (out). in case want this:
package example class footaglib { static namespace = 'something' static returnobjectfortags = ['hasrole'] def hasrole = { attrs, body -> boolean result = false ... return result } } as can see returnobjectfortags static list of methods/closures want return actual objects , don't expect modifying output stream directly.
Comments
Post a Comment