问题标签 [vaadin8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
352 浏览

tomcat - 如何使用 Tomcat 8 安装 Vaadin CDI

我已经阅读了很多关于 cdi 和 tomcat 的主题。最后,大多数用户决定使用 TomEE 而不是 TomCat 来启动 vaadin。我不需要所有的 TomEE 功能,而我的项目负责人希望我使用 Tomcat 8,这就是为什么我必须找到一种使用 tomcat 部署它的方法。

我还尝试使用以下配置将 cdi 导入到我的 Tomcat 项目中,但仍然有错误。希望有人可以帮助我。谢谢

WEB-INF/beans.xml为空
WEB-INF/web.xml

META-INF/context.xml

CDI 的依赖项

错误

[RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: 未能启动组件 [StandardEngine[Catalina].StandardHost[localhost] ].StandardContext] 引起:java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava /lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet; 在 org.jboss.weld.bootstrap.WeldStartup.startExtensions(WeldStartup.java:579)

[RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke 异常调用方法 manageApp java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext]

[RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke 异常调用方法createStandardContext javax.management.RuntimeOperationsException: 异常调用方法manageApp

0 投票
1 回答
416 浏览

java - Java/Vaadin - FormLayout 自定义隐藏组件实现

我正在 vaadin 开发一个 Web 应用程序,目前正在尝试实现一个地址簿。我查看了 github 上的官方实现,并试图以此为基础。

我遇到的问题是联系表格。我希望能够单击网格中的一行并打开一个包含信息的表单。(类似于在他们的示例中如何完成)

但是,该组件没有按预期做出反应。如果我将组件直接添加到主布局并尝试切换可见性,它会弄乱视图。我让它工作的唯一方法是根据需要添加和删除组件,尽管我不喜欢这个解决方案,也不优雅。

这是当前的实现

第一张图片显示了在将表单添加到布局并将其设置为隐藏时视图的反应。

第二张和第三张图片显示了视图应该如何反应。虽然为了达到预期的结果,我不得不做草率的编码。

最后的问题:

我该如何解决这个问题?我尝试过为表单使用内部类并将其创建为自己的类。我唯一的猜测是,在 github 实现中,他们将 UI 传递给地址簿扩展 UI 而不是组件的表单。

这是尝试直接添加组件时视图的外观

这是使用快速而肮脏的修复(通过根据需要添加和删除组件)时的外观,表单不应该在此处显示

这是在单击网格之后,这就是我希望它发挥作用的方式

0 投票
2 回答
286 浏览

spring - BeanCreationException 使用 Vaadin 和 CRUD findAll() 服务填充 ComboBox

我正在使用带有 SpringBoot 的 Vaadin8vaadin-spring-boot-starter 2.0.0来填充 ComboBox。我对 NativeSelect 进行了同样的尝试,顺便说一下,当我使用setItem()ComboBox 的方法时,仍然得到相同的错误消息。

回购:

服务:

表格类:

用户界面类:

为什么我会收到这个错误?!有人可以解释一下吗...顺便说一句,service.lisUserCategories()在其他任何地方都可以使用!

0 投票
0 回答
427 浏览

java - 如何在 Vaadin 8 中重新上传文件

我有一个文件上传组件来使用文件内容填充网格。我需要实现刷新网格功能来捕获上传文件中的更改。这个想法是重新上传文件,而无需手动浏览该位置。用于上传文件的代码片段如下。实现这一点的最佳方法是什么?

0 投票
1 回答
93 浏览

css - 特定类的 Vaadin 组件 CSS

我正在尝试从使用特定 CSS 类的每个 Grid 实例中删除网格单元格焦点样式。

CSS

效果很好,但将样式应用于我的应用程序中的所有 Grid 实例。

我尝试通过以下方式使其专门应用于 CSS 类:

或者

或者

但不会导致默认行为发生任何变化。

我已成功使用以下 CSS

其中唯一采用上述样式的网格是我分配给样式名称的网格anotherGrid。这向我表明,在我的情况下,CSS 选择器可能存在复杂性:before,再加上导致我的实现无法工作的自定义 CSS 类。

如何引用 Vaadin 组件 CSS 并将其仅应用于我指定的特定 CSS 类?

0 投票
2 回答
1617 浏览

vaadin8 - 禁用 Vaadin 绑定

我有一个组件(例如 TextField),它将根据其他选择(例如单选按钮)显示,当它被隐藏时,我不希望应用此字段上的绑定,所以

在某个地方:

在其他地方:

我不想从布局中删除组件,因为将它放在相同的位置会是一个问题。我尝试了setVisible(false),setEnabled(false)setReadOnly(true),但都没有阻止应用绑定。有没有一种简单的方法可以做到这一点?

我正在使用 Vaadin 8。

0 投票
1 回答
325 浏览

vaadin-grid - Grid SelectionMode.MULTI 缺少标题复选框以选择所有 BackEndDataProvider

我正在使用写入版本 8 的新应用程序(目前正在使用 8.1.0.rc2 进行测试)。

Grid问题围绕使用时出现在标题中的“全选”复选框SelectionMode.MULTI。特别是,问题是在implements时复选框出现并按预期运行,但在DataProviderimplementsInMemoryDataProvider时复选框没有出现。DataProviderBackEndDataProvider

以下代码创建了两个网格,它们仅在使用 InMemory 还是 BackEnd 方面有所不同:

以下是网格的渲染方式: 截屏

我是否错过了设置基于后端的数据提供程序/网格的关键步骤?相关文档似乎没有解决这个问题。

是否存在与此相关的已知问题?

全选不是按设计提供的吗?显然,这可能与大型数据集上的延迟加载概念产生非常糟糕的交互......

0 投票
1 回答
657 浏览

maven - 如何配置 Vaadin 项目以使用 Vaadin-spring-boot-starter 和最新的 Vaadin 框架

我已经根据最新的 Vaadin Spring boot starter 版本 2.0.1 定义了我的项目,如下所示。我想使用最新的 Vaadin 框架版本 8.1.0.rc2(今天发布)来使用 Tree 和新的拖放功能。是否可以保留 Spring Boot 版本但在 Maven 中使用新的 Vaadin 功能?

0 投票
0 回答
618 浏览

java - Vaadin 8 如何处理视图、导航器和菜单?

在 Vaadin 8 中,我目前正在开发一个 Web 应用程序,我正在努力解决菜单/视图管理/导航器...
由于我对 servlet 和 Vaadin 完全陌生,我不太确定我的方法是否有效/如果我理解这一点正确。
我以为是这样理解 Vaadin 的:
- 该应用程序在我的服务器上运行。
- 对于每个访问它的用户,都会创建一个我的 UI 的新实例

现在我想要一个很好的设计来管理导航器(将字符串映射到视图)和我的菜单(需要显示字符串和传递给导航器的键字符串)。

我目前的想法是使用这样的枚举:

然后我可以开发菜单以通过迭代来创建条目ViewManager.values()
我可以使用添加视图到 UI 导航器navigator.addView(String, view)(我不喜欢navigator.addView(String, Class<View>),因为它会在每次导航时创建一个新的视图实例。

长话短说:当他们改变视图属性时,这会起作用还是我会在多个用户之间产生干扰。(当用户尝试访问诸如电子邮件、密码等敏感数据时尤其危险……例如在 loginView 中)

0 投票
1 回答
272 浏览

java - Vaadin 8.1 RC1 TreeDataProvider, TreeData (getParent), HierarchicalQuery

我正在尝试在 Vaadin 8.1 RC1 上玩 TreeGrid。我正在尝试从 HierarchicalContainer 迁移到 TreeDataProvider。但是我没有得到新的分层数据结构的想法。我只需要一些简单的东西: - 是否可以获得分层数据的任何项目的 id?或者新数据不会使用Ids?- 可以获取已存在对象的父对象。喜欢

我发现了一些与 HierarchicalQuery 相关的问题,并且“父节点可通过 getParent 方法在 HierarchicalQuery 中使用,该方法返回根级别。” 但是没有示例如何使用 HierarchicalQuery。