是否可以在VAADIN中更改默认主题文件夹的位置?

时间:2013-05-30 20:31:10

标签: osgi vaadin

我目前正在使用带OSGi的vaadin 6。

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

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

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

由于

3 个答案:

答案 0 :(得分:2)

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

VAADIN/themes/mytheme/

在您的片段包中

并使用

创建清单

Fragment-Host

设为

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

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

答案 1 :(得分:1)

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

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

自定义主题放置在Web应用程序的VAADIN / themes文件夹中(在WebContent目录中),如图8.1“主题的内容”所示。 此位置已修复。您需要为应用程序中使用的每个主题都有一个主题文件夹,尽管应用程序很少需要多个主题。例如,如果要定义名为mytheme的主题,则将其放在文件夹VAADIN / themes / mytheme中。

答案 2 :(得分:1)

您也可以尝试使用pax for vaadin,它尚未发布,而且我已经花了一些时间来处理它,但它应该适用于您的用例。它试图在你的包中找到vaadin应用程序和主题。

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