我的 atlassian-plugin.xml 中 $generalUtil 的来源是什么?

What is the origin of $generalUtil in my atlassian-plugin.xml?

我正在研究自定义 Confluence 插件的代码,其中包含一个 atlassian-plugin.xml 文件,其中包含对两个变量 $generalUtil$helper 的引用,但我找不到任何定义他们在整个项目中的任何位置。它们只是简单地工作,在我看来它们是凭空神奇地实例化的。

<web-item key="configtab" name="configtab" section="system.space.tools/addons">
  <label key="myplugin.space.tools.addons.tab.label" />
  <link>/spaces/myplugin-config.action?spaceKey=$generalUtil.urlEncode($helper.spaceKey)</link>
</web-item>

$generalUtil 必须是 com.atlassian.confluence.util.GeneralUtil 的一个实例,它也有一个方法 urlEncode()。但是这个变量是从哪里来的呢?

更让我困惑的是$helper,它有一个我在代码中找到的spaceKey field/method,但与任何类型的Helper没有任何关系class. $helper 也出现在速度模板中,但也没有任何定义。有什么想法记录了这些内容吗?

generalUtil 记录在此处:https://docs.atlassian.com/ConfluenceServer/javadoc/7.11.6/

我认为helperhttps://docs.atlassian.com/ConfluenceServer/javadoc/7.11.6/com/atlassian/confluence/themes/GlobalHelper.html

它们被注入到用于呈现 link 的 Velocity 上下文中。