我目前使用vaadin 6与OSGi。是否可以更改VAADIN中默认主题文件夹的位置?
我想创建一个新主题,但由于我使用的是OSGi,我无法在VAADIN /主题文件夹下添加一个主题,因为我无法访问它。
我想告诉vaadin在我的HTTP命名空间中使用另一个URL来查找我的主题。
我可以做到这一点吗? setTheme()方法只接受字符串,如果可以为主题注册另一个默认文件夹,则无法在任何地方找到。
谢谢
我目前使用vaadin 6与OSGi。是否可以更改VAADIN中默认主题文件夹的位置?
我想创建一个新主题,但由于我使用的是OSGi,我无法在VAADIN /主题文件夹下添加一个主题,因为我无法访问它。
我想告诉vaadin在我的HTTP命名空间中使用另一个URL来查找我的主题。
我可以做到这一点吗? setTheme()方法只接受字符串,如果可以为主题注册另一个默认文件夹,则无法在任何地方找到。
谢谢
您可以通过在碎片捆绑包中创建主题并将其附加到Vaadin捆绑包来实现此目的。这实际上将资源合并/附加到主机捆绑。 所以你提供:
VAADIN/themes/mytheme/
,并创建清单与
Fragment-Host
设置为
Vaadin 6:com.vaadin;bundle-version="${vaadin.version}"
Vaadin 7: com.vaadin.client-compiled;bundle-version="${vaadin.version}"
不,这是不可能的。
从这里:https://vaadin.com/de/book/vaadin6/-/page/themes.creating.html
自定义主题被放置在Web应用程序(在WebContent目录)的VAADIN /主题的文件夹,如图8.1所示,“一个主题的内容”。 这个位置是固定的。您需要为应用程序中使用的每个主题设置一个主题文件夹,尽管应用程序很少需要多个主题。例如,如果要定义名称为mytheme的主题,则将它放在VAADIN/themes/mytheme文件夹中。
您也可以尝试vaadin的pax,它尚未发布,我正在花一些时间去处理它,但它应该适用于您的用例。它试图在捆绑包中找到vaadin应用程序和主题。
谢谢!当我有更多时间时,我会在几周内检查一下。片段捆绑解决方案的作品,我渴望进一步移动。 – Marius
谢谢!有用! – Marius