Webwork Action 与 Servlet
- Webwork Action 的优点是您可以使用与 webwork 融合在一起的内置速度模板机制以及 webwork 本身的所有优点。
- 这两种变体都具有通过在 spring webframework 中内置的 confluence 进行依赖注入的优势。
- 使用 servlet 而不是 webwork 操作可以让您独立于所有 atlassian 平台软件,因为并非所有 atlassian 产品都使用 webwork。
- atlassian-plugin.xml 中的插件描述符允许插件配置页面的两种方法:
<atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${project.name}" plugins-version="2">
<plugin-info>
<description>${project.description}</description>
<version>${project.version}</version>
<vendor name="${project.organization.name}" url="${project.organization.url}"/>
<param name="plugin-icon">images/pluginIcon.png</param>
<param name="plugin-logo">images/pluginLogo.png</param>
<param name="configure.url">/admin/plugins/PATHTOYOURCONFIGPAGE</param>
</plugin-info>
...
</atlassian-plugin>
存储插件设置
如果您查看PluginSettingsFactory 接口和实现该接口的所有已知类的列表,您会发现 ConfluencePluginSettingsFactory。声明了一个public void setBandanaManager (BandanaManager bandanaManager)
方法。这是 BandanaManager 的依赖注入。这表明PluginSettingsFactory 接口的实现使用 BandanaManager 进行属性持久化。
我个人不知道ConfigurationManager的事情。我为我所有的 confluence 插件使用 BandanaManager 来存储可以通过管理设置页面或其他地方设置的属性。
在这里查看最先进的数据持久化方法,如 atlassian 所述:Persistence in Confluence。他们也使用 BandanaManager。