基于此片段(http://openntf.org/XSnippets.nsf/snippet.xsp?id=oneui-on-the-fly-theme-changer),我尝试根据 Domino 的版本计算主题。我想在 Domino<9 上使用“oneuiv2.1”,在 9 版本上使用“oneuiv3.0.2”。
编辑:要明确:我已经可以识别版本,问题是关于在正确的时间计算和设置主题,因为我的以下方法似乎做得太晚了。页面呈现,然后设置主题 - 但这是我的印象。
这些是我的第一个方法:
- 在主题的“扩展”属性中计算主题名称 - 不起作用。
- 在我的 Xpage 的 beforeRenderResponse 和 beforePageLoad 事件中计算并设置会话属性“xsp.theme”的值 - 这也失败了
- 设置一个 bean 来计算值并在 bean 初始化时设置会话属性 - 结果相同
当然,您可以在主题文件中计算(渲染)OneUIv2.1 和 OneUIv3 的所有需要的样式表和脚本,但是嘿,这么多资源很麻烦,不是吗?
所以我的问题是:您还有其他想法如何实现这一目标吗?如果您的应用程序可以使用具有相同布局的两个主题,这将非常方便使用,独立于应用程序运行的位置 - 无论是在 8.5.x 还是 9 机器上。
期待讨论:-)