То, что вы делаете здесь, - это всякое сражение с тем, что использование TagLib
должно помочь вам достичь. Ваш TooltipTagLib
должен позаботиться о всех ответственности за разметку и должен принимать только те атрибуты, которые ему необходимы для вставки в разметку, а не другую строку, полную разметки.
Если вы переделаете свою библиотеку тегов, вы, вероятно, сможете избежать странных ошибок, которые вы получаете. Ваше закрытие тега tip
должно выглядеть примерно так (примерно):
def tip = { attrs ->
out << "<b>Title:</b> ${attrs.title}<br/>"
out << "<b>Start at:</b> ${attrs.start}<br/>"
out << "<b>End at:</b> ${attrs.end}<br/>"
out << "<b>Description:</b> ${attrs.description}<br/>"
}
И вы бы назвали это как:
<tooltip:tip title="${it3.prog_title}"
start="${it3.prog_start}"
end="${it3.prog_end}"
description="${it3.description}"/>
Попробуйте переосмыслить, как вы используете библиотеку тегов, и вы обнаружите, что не встретите странных ошибок, подобных этой.