我目前正在使用带OSGi的vaadin 6。
我想创建一个新主题,但由于我正在使用OSGi,因此我无法在VAADIN / theme文件夹下添加一个,因为我无法访问它。
我想告诉vaadin在我的HTTP命名空间中使用另一个URL来查找我的主题。
我能实现吗? setTheme()方法只接受字符串,如果可以为主题注册另一个默认文件夹,我找不到任何地方。
由于
答案 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应用程序和主题。