java - 如何将 Vaadin 插件与 Spring Boot 结合使用?

标签 java gwt spring-boot vaadin vaadin4spring

我正在使用带有 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/resources/addon/client/ListaideWidgetset.gwt.xmlsrc/main/webapp/VAADIN/gwt-unitCache 中的多个文件和 src/main/webapp/VAADIN/widgetsets/addon.client.ListaideWidgetset 。我还添加了@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 形),并且单击时不会打开弹出窗口。

最佳答案

您的小部件集不包含该插件。请参阅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

关于java - 如何将 Vaadin 插件与 Spring Boot 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38652335/

相关文章:

java - 按坐标排列正方形

java - Hibernate - 从数据库获取对象版本

java - Java 堆栈跟踪中的 "eliminated"是什么意思?

java - 在Java中使用wkhtmltopdf将pdf编码为utf-8

java - 在 GXT 中保存对象状态

gwt - GWT 中 this.getThreadLocalRequest() 返回 null

java - 创建名为“kafkaListenerContainerFactory”的 bean 时出错

java - 我是否正确序列化/反序列化?

java - 在Springboot中创建2个日志文件

java - 使用 Reactor Netty 配置 Spring Boot 以监听 2 个端口