【问题标题】:How to use Vaadin add-on with Spring Boot?如何在 Spring Boot 中使用 Vaadin 插件?
【发布时间】:2016-07-29 06:55:10
【问题描述】:

我正在使用带有 Spring Boot 的 Vaadin 7.6.3。我正在尝试使用 PopupButton 插件(但我认为问题不是插件所特有的)。

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

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

通过 Gradle 的 Vaadin 插件,我运行了任务 vaadinCompile,该任务在 src/main/webapp/VAADIN/gwt-unitCache 中创建了文件 src/main/resources/addon/client/ListaideWidgetset.gwt.xml 和多个文件,并且 src/main/webapp/VAADIN/widgetsets/addon.client.ListaideWidgetset。我还在我的 UI 中添加了@Widgetset("addon.client.ListaideWidgetset")。我确认小部件集是通过客户端的?debug 模式使用的。

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>

问题在于,在客户端上,该按钮显示为标准按钮(无 V 形),并且在单击时不会打开弹出窗口。

【问题讨论】:

    标签: java gwt spring-boot vaadin vaadin4spring


    【解决方案1】:

    您的小部件集不包含插件。见example

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

    添加后,重新编译小部件集,重新启动您的应用程序。

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

    编辑

    gradle vaadin 插件似乎无法正确处理此插件。作为一种解决方法,禁用小部件集的自动管理,这会阻止gwt.xml 的重新生成。参见https://github.com/johndevs/gradle-vaadin-plugin/wiki/Tasks-and-configuration-DSL 中的manageWidgetset)。例如。在你的vaadin{}-block 中添加vaadinCompile.manageWidgetset = false

    【讨论】:

    • 当我将该行添加到小部件集并运行 vaadinCompile 时,小部件集将被覆盖并重置为原始 O.o 这是我的 gradle.build
    • @zero_cool 首先,vaadin gradle 插件的当前版本是 0.11.1。如果插件无法正确处理插件,您可能必须禁用小部件集管理(请参阅 github.com/johndevs/gradle-vaadin-plugin/wiki/… 中的 manageWidgetset
    • 我更新到 0.11.1 没有做任何事情。我在 build.gradle 中添加了 vaadinCompile.manageWidgetset = false。现在小部件集不再被覆盖。该插件现在也正在运行。谢谢一百万:)
    猜你喜欢
    • 2015-05-02
    • 1970-01-01
    • 2018-12-02
    • 2015-06-14
    • 2019-07-30
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多