Как динамически установить атрибут узла, используя шаблон NodeBuilder в Groovy - PullRequest
0 голосов
/ 26 августа 2011

Как установить атрибут динамического узла на основе условия в groovy при использовании шаблона NodeBuilder?

Как и в следующем

def b = DOMBuilder.newInstance()
b.div ( attribute: "value") {
    if (condition) {
        // Set div.dynamicAttribute to true here
    }

}

Предпочтительно было бы неплохо ссылаться на текущий элемент в условном выражении, так как условие может появиться глубоко внутри структуры.

1 Ответ

3 голосов
/ 26 августа 2011

Самый простой способ сделать это - оценить условие для динамического атрибута за пределами закрытия узла.Например:

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) {
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...