如何在Spring Boot中使用Vaadin插件?

时间:2016-07-29 06:55:10

标签: java gwt spring-boot vaadin vaadin4spring

我使用Vaadin 7.6.3和Spring Boot。我试图使用PopupButton插件(但我不认为该问题是特定于附加组件的。)

我添加了附加组件作为gradle的依赖项。这是创建PopupButton的代码:

PopupButton btn = new PopupButton("Test Button");
btn.setContent(new Label("Test"));
layout.addComponent(btn);

通过Gradle的Vaadin插件我运行了创建文件vaadinCompile的任务src/main/resources/addon/client/ListaideWidgetset.gwt.xmlsrc/main/webapp/VAADIN/gwt-unitCache中的几个文件 src/main/webapp/VAADIN/widgetsets/addon.client.ListaideWidgetset。我还在我的UI中添加了@Widgetset("addon.client.ListaideWidgetset")。我确认通过客户端?debug模式使用了widgetset。

ListaideWidgetset.gwt.xml的内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Vaadin//DTD Vaadin 7//EN" "https://raw.github.com/vaadin/gwt/master/distro-source/core/src/gwt-module.dtd">
<!-- WS Compiler: manually edited -->
<module>
        <inherits name="com.vaadin.DefaultWidgetSet" />
        <set-configuration-property name="devModeRedirectEnabled" value="true" />
        <set-property name="user.agent" value="ie8,ie9,gecko1_8,safari,ie10" />
        <source path="client" />
        <source path="shared" />
        <collapse-all-properties />
        <set-property name="compiler.useSymbolMaps" value="true" />
</module>

问题是在客户端上按钮显示为标准按钮(没有雪佛龙),并且在点击时不会打开弹出窗口。

1 个答案:

答案 0 :(得分:1)

您的widgetset不包含插件。请参阅example

 <inherits name="org.vaadin.hene.popupbutton.widgetset.PopupbuttonWidgetset" />

添加后,重新编译widgetset,重新启动应用程序。

通常gradle插件可以为您处理此问题,但可以禁用该功能,或者某些其他配置错误可能会阻止它。没有build.gradle ......

很难分辨

修改

gradle vaadin插件似乎无法正确处理此插件。解决方法是禁用widgetset的自动管理,这会阻止gwt.xml的重新生成。请参阅https://github.com/johndevs/gradle-vaadin-plugin/wiki/Tasks-and-configuration-DSL中的manageWidgetset。例如。在vaadinCompile.manageWidgetset = false - 块中添加vaadin{}