Я пытаюсь создать пользовательский макрос, который определяет некоторые переменные и повторяет их на странице везде, где это необходимо.
Поэтому у меня есть один макрос с телом для определения переменной:
#set ($containerManagerClass=$content.class.forName('com.atlassian.spring.container.ContainerManager'))
#set ($getInstanceMethod=$containerManagerClass.getDeclaredMethod('getInstance',null))
#set ($containerManager=$getInstanceMethod.invoke(null,null))
#set ($containerContext=$containerManager.containerContext)
#set ($contentPropertyManager=$containerContext.getComponent('contentPropertyManager'))
$contentPropertyManager.setStringProperty($content, $paramId, $body)
И тот, который выводит его снова:
$contentPropertyManager.getStringProperty($content, $paramId)
Эта настройка прекрасно работает для любых текстов и даже дат.Однако, когда я ввожу упоминание пользователя, оно не будет повторяться полностью.
Только синий @ присутствует, а исходный код HTML показывает
<a data-base-url="http://c" data-hasbody="false" ...> </a>
вместо
<a data-base-url="http://confluence.acme.com" data-hasbody="true" ...>Doe, John</a>
Ссылка по-прежнему имеет правильное всплывающее окно.
Что может быть причиной такого поведения?Как я могу это исправить?
(я задавал этот вопрос и на Atlassian Forum .)