0

我目前正在将 vaadin 6 与 OSGi 一起使用。

我想创建一个新主题,但由于我使用的是 OSGi,我无法在 VAADIN/theme 文件夹下添加一个,因为我无权访问它。

我想告诉 vaadin 使用我的 HTTP 命名空间中的另一个 URL 来查找我的主题。

我能做到这一点吗?setTheme() 方法只接受字符串,如果可以为主题注册另一个默认文件夹,我找不到任何地方。

谢谢

4

3 回答 3

2

您可以通过在片段包中创建主题然后将其附加到 Vaadin 包来完成此操作。这实际上会将资源合并/附加到主机包。所以你提供:

VAADIN/themes/mytheme/

在您的片段包中并使用

Fragment-Host

调成

瓦丁 6:com.vaadin;bundle-version="${vaadin.version}"

瓦丁 7:com.vaadin.client-compiled;bundle-version="${vaadin.version}"

于 2013-05-31T06:23:28.587 回答
1

您也可以尝试使用 pax for vaadin,它尚未发布,我正在花一些时间进行更多工作,但它应该适用于您的用例。它会尝试在您的包中查找 vaadin 应用程序和主题。

https://ops4j1.jira.com/wiki/display/PAXVAADIN/Home

于 2013-05-31T11:51:32.250 回答
1

不,不幸的是,这是不可能的。

从这里:https ://vaadin.com/de/book/vaadin6/-/page/themes.creating.html

自定义主题放置在 Web 应用程序的 VAADIN/themes 文件夹中(在 WebContent 目录中),如图 8.1 “主题的内容”所示。这个位置是固定的。您需要为应用程序中使用的每个主题创建一个主题文件夹,尽管应用程序很少需要多个主题。例如,如果你想定义一个名为 mytheme 的主题,你将把它放在文件夹 VAADIN/themes/mytheme 中。

于 2013-05-30T21:27:25.300 回答