2013-05-30 35 views
0

我目前使用vaadin 6与OSGi。是否可以更改VAADIN中默认主题文件夹的位置?

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

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

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

谢谢

回答

2

您可以通过在碎片捆绑包中创建主题并将其附加到Vaadin捆绑包来实现此目的。这实际上将资源合并/附加到主机捆绑。 所以你提供:

VAADIN/themes/mytheme/

在你的片段捆绑

,并创建清单与

Fragment-Host

设置为

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

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

+0

谢谢!有用! – Marius

1

不,这是不可能的。

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

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

1

您也可以尝试vaadin的pax,它尚未发布,我正在花一些时间去处理它,但它应该适用于您的用例。它试图在捆绑包中找到vaadin应用程序和主题。

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

+0

谢谢!当我有更多时间时,我会在几周内检查一下。片段捆绑解决方案的作品,我渴望进一步移动。 – Marius

相关问题