我正在尝试创建一个定义一些变量的用户宏,并在必要时在页面中重复它们。
所以我有一个带主体的宏,用于定义变量:
#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上问了这个问题。)