我目前正在将 vaadin 6 与 OSGi 一起使用。
我想创建一个新主题,但由于我使用的是 OSGi,我无法在 VAADIN/theme 文件夹下添加一个,因为我无权访问它。
我想告诉 vaadin 使用我的 HTTP 命名空间中的另一个 URL 来查找我的主题。
我能做到这一点吗?setTheme() 方法只接受字符串,如果可以为主题注册另一个默认文件夹,我找不到任何地方。
谢谢
您可以通过在片段包中创建主题然后将其附加到 Vaadin 包来完成此操作。这实际上会将资源合并/附加到主机包。所以你提供:
VAADIN/themes/mytheme/
在您的片段包中并使用
Fragment-Host
调成
瓦丁 6:com.vaadin;bundle-version="${vaadin.version}"
瓦丁 7:com.vaadin.client-compiled;bundle-version="${vaadin.version}"
您也可以尝试使用 pax for vaadin,它尚未发布,我正在花一些时间进行更多工作,但它应该适用于您的用例。它会尝试在您的包中查找 vaadin 应用程序和主题。
不,不幸的是,这是不可能的。
从这里:https ://vaadin.com/de/book/vaadin6/-/page/themes.creating.html
自定义主题放置在 Web 应用程序的 VAADIN/themes 文件夹中(在 WebContent 目录中),如图 8.1 “主题的内容”所示。这个位置是固定的。您需要为应用程序中使用的每个主题创建一个主题文件夹,尽管应用程序很少需要多个主题。例如,如果你想定义一个名为 mytheme 的主题,你将把它放在文件夹 VAADIN/themes/mytheme 中。