Самый простой способ сделать это - оценить условие для динамического атрибута за пределами закрытия узла.Например:
if (condition) {
b.div(attribute: "value", dynamicAttribute: true) {
...
}
} else {
b.div(attribute: "value") {
...
}
}
Кроме того, вы можете заранее создать карту атрибутов:
def attributes = [attribute: "value"]
if (condition) {
attributes['dynamicAttribute'] = true
}
b.div(attributes) {
...
}