Я хочу написать тег, который может «обернуть» дочерний тег, и всегда передает все его атрибуты этому дочернему тегу. Таким образом, любые атрибуты, которые передаются в родительский тег, передаются дочернему. Идея состоит в том, чтобы создать тег, который может «украсить» несколько разных дочерних тегов и тем самым расширить их функциональность без изменения существующих тегов.Тег, который обертывает другой тег в grails?
Возможно ли это в грабелях?
Грубый набросок идеи:
// taglib
def parentTag = { attrs, body ->
out << "<div class='parent'></div>"
}
def childTag1 = { attrs, body ->
// code
}
def childTag2 = { attrs, body ->
// code
}
В .gsp:
// view
<mytaglib:ParentTag attr1="hello" attr2="world">
</mytaglib:childTag1>
</mytaglib:ParentTag
<mytaglib:ParentTag attr1="hello" attr2="world">
</mytaglib:childTag2>
</mytaglib:ParentTag
Результирующий HTML:
<div class='parent'>
<div attr1="hello" attr2="world"></div>
</div>
<div class='parent'>
<div attr1="hello" attr2="world"></div>
</div>
Это будет работать только для одного конкретного дочернего тега «childTag». Я хочу использовать его для украшения нескольких тегов id_different_. –
О, я вижу. что потребовало бы немного более синтаксического анализа атрибута тела, который я бы догадался. Возможно, вы посмотрите на плакат [decorator] (https://grails.org/plugin/decorator), чтобы дать вам хорошую отправную точку. –