问题标签 [vaadin7]

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 投票
2 回答
7116 浏览

maven - 打破 Vaadin 小部件集编译

为了节省编译时间,我试图将小部件集的编译分解为它自己的 TeamCity 构建项目,我们使用 nexus 作为 repo。Vaadin“基础项目”将包含对 widgetset 工件的依赖项以获取当前版本。我敢肯定这以前已经做过了。

widgetset 项目在 TeamCity 中构建良好。jar 和 pom 已正确上传到 nexus。我已经打开了罐子的包装,以确保一切都在原位。到现在为止还挺好。

在 Eclipse 中,基础项目确实获取了小部件集工件并将其包含在其库中。看起来不错。

但是,当我从 eclipse 对基础项目执行“mvn clean package”并在 Tomcat 上运行它时,我在 Web 浏览器中收到以下错误:

当我检查项目结构时,我发现目标文件夹下没有 VAADIN/widgetset-folder。此外,在 maven 依赖 jar 文件中,有一个包含 gwt-unitCache 的 VAADIN 文件夹和一个包含 widgetset-goodies 的 VAADIN.widgetsets-folder,以及上述错误消息中提到的文件。

我无法理解这一点。我不是专家,所以我可能错过了一些琐碎的事情。我也不是 Vaadin 专业人士,所以我可能错过了一些同样微不足道的事情。

我真的希望有人能帮我把这艘船弄到水里。我将不胜感激!

Vaadin 版本:7.1.1 Maven 版本:3.0.4

我的基础项目的 pom.xml (为简洁起见省略了一些内容):

我的 widgetset-pom(为简洁起见省略了一些东西):

更新: 我已经像这样设置了我的 MainUI 类:

我意识到这与它有关,并将其更改为正确的小部件集。但我仍然得到同样的错误:

现在,这个错误在类路径中显示了 nocache-file 的正确路径,这让我很困惑,因为该文件在 lib 文件夹中。我希望这不会让你更困惑......

更新 2: 实际上这已经足够了:

0 投票
3 回答
8016 浏览

java - Vaadin 7 在组件之间触发自定义事件

我想创建自定义事件并在视图的某些部分触发它们,以便视图的其他部分被更新/删除/刷新。

我尝试通过扩展 Component.Event 和 Component.Listener 但它不起作用。我认为事件和监听器必须限制在同一个组件实例中。

这可以用 Vaadin 7 完成吗?

基本上我想解耦我的视图并提供组件之间的轻松通信。我也在使用 Spring 和 Vaadin。如果您在观察者模式之外有更好的想法,我也将不胜感激。

谢谢

0 投票
1 回答
697 浏览

vaadin - 来自服务器的 Vaadin7 容器更新 - 是否使用服务器推送

我想实现 Vaadin 服务器推送,以便将服务器数据库上的更改推送给用户。例如,如果用户 A 保存到服务器 DB,则用户 B 应该会在其 UI 上自动看到更改。

然而,Vaadin 的书指出:

SQLContainer 不断检查连接的数据库表中的行数,以检测外部添加或删除行。默认情况下,假定表行计数保持有效 10 秒。这个值可以从代码中改变;在 SQLContainer 中使用 setSizeValidMilliSeconds()。

那么这是否意味着我不需要为服务器数据库更改实现服务器推送?

SQLContainer 还会检查行更新吗?

我认为服务器推送的原因是将数据更改推送给用户?

0 投票
1 回答
1087 浏览

java - 将其他项目中的 bean 注入 Vaadin 视图

在我的一个 Vaadin 视图中,我试图通过使用 @Inject 注入来获取驻留在另一个项目 (bll) 中的业务对象。

瓦丁观点:

我不能这样做,当然,bananaService 对象在运行时为空,因为我无处可对包进行组件扫描。

我正在使用注释,所以我的 Vaadin Web 项目中没有 web.xml,我什至没有 WEB-INF 文件夹。

我也知道有一些替代方案,例如CDI-UtilsVaadin CDI Vaadin 插件,以及其他一些解决方案,但它们似乎都将东西注入主 UI(而不是视图)和网络应用程序本身,而不是来自其他模块。

我正在使用 Vaadin 7 和 Tomcat 7(只要在给出以下问题的答案的情况下使用 Tomcat 可行)

问题:将 bean 从另一个模块注入 Vaadin 视图的推荐方法是什么,我需要做什么才能完成此操作?

追问:使用上述方法后,这个应用使用Tomcat会不会有问题?

0 投票
0 回答
364 浏览

java - 替换 Vaadin SQLContainer 中的过滤器

我有带有 SQLContainer 的表。我也有带过滤器的表格。更改后我想更换过滤器。首先,我删除所有调用 SQLContainer.removeAllContainerFilters() 的过滤器:

它会导致刷新。删除过滤器后,我调用 addContainerFilter():

并进行第二次刷新。

我可以替换过滤器以便仅在刷新时执行吗?

0 投票
0 回答
123 浏览

android - Vaadin 与 Android - 如何在 Android 中使用 Vaading 开发和同步 UI 组件

我打算开发一个应用程序,将 Vaadin 框架的 UI 组件添加到 android 开发中。

我需要一些建议和意见,无论是否可能在 android 中。如果可能的话,我们如何做到这一点。

寻找答复。提前致谢

问候阿南德

0 投票
1 回答
811 浏览

java - 在 Vaadin 中即时同步两个表

在我的 Vaadin UI 中,我有以下场景:

表草图

换句话说,有两个表:

  • 一个可编辑的“主”表,
  • 不可编辑的“从”表,但必须包含与主表相同的数据,但排序顺序可能不同。

最终要求排除了具有相同的表Container(在我的理解中,这可能是错误的)。

我目前所做的是附加 anItemSetChangeListener和 a ValueChangeListener,并使用事件相应地更新数据。

这是当前的粗略实现(实际上是在 Scala 中,但我希望它足够可读,如果没有,请发表评论):

但是,我的问题是我需要在用户键入时连续同步数据,这不会发生,因为相关事件仅在某些操作完成后才发送(添加一行等)。

我该如何解决这个问题,即如何强制经常发出事件以启用连续同步?我唯一的想法是使用ActionListener映射所有键,但这尖叫着“滥用”。

注意:我意识到通过服务器端执行此操作效率较低,但在我的情况下这不是问题。但是,当然,基于客户端的答案也可以。

0 投票
1 回答
4667 浏览

session - Vaadin 在另一个浏览器/选项卡/系统中关闭同一用户的 UI

我正在 Vaadin 7 中做一个项目。我需要为登录实现如下所示的内容。

用户“A”登录到系统“1”。他再次登录到另一个系统“2”。现在我想知道如何关闭系统“1”上的 UI。

我尝试了一些东西并且可以关闭 UI,如果它是同一个浏览器。但是,对于不同的系统/浏览器。我没有任何想法。

我的代码:

任何人都可以帮助我吗?

0 投票
4 回答
13642 浏览

spring - Vaadin 7.1 + Spring-Security Integration 在 Tomcat 服务器中运行

我是 vaadin 和 spring 安全的新手,我想知道是否有人有一个完整的项目示例,说明 vaadin 7.1 + spring-security 集成在 tomcat 服务器(而不是码头)中运行。

0 投票
1 回答
572 浏览

java - 子窗口的 Vaadin 7 按钮

在页面http://demo.vaadin.com/ReindeerTheme/上,子窗口可调整大小,宽度和高度有最小限制,并且没有 fullSize 按钮。

我发现没有选项可以对我的 Sub-Windows 做同样的事情。使用setResizable(false)时,fullSize Button 被隐藏,但 Window 无法调整大小。