【发布时间】:2019-06-18 06:57:12
【问题描述】:
我是 vaadin 的新手,我正在尝试使用 SQL Server 中的数据构建一个包含多个页面的 Web 应用程序。感谢我对几个 StackOverflow 主题的研究,我可以让第一页工作,在网格中显示我的 Person 实体的一些基本数据。
现在,当我在网格中选择一条记录并单击一个按钮时,我想打开第二个页面并使用所选人员的 ID (person.getId()) 将其他数据从后端加载到 FormLayout(在本案例联系方式)。
目前,我已让我的应用程序打开第二页,但没有数据。我的第二页有@Route("/contact") 注释,我在第一页中使用ui.navigate("/contact") 导航到第二页。
昨天我花了几个小时阅读有关 Blackboard EventBus 在页面之间传递数据的信息。我要做一个简单的例子,第一页触发一个人事件,第二页监听这些事件并用System.out.println()显示这个人。但是如何使用此事件/人员数据来刷新我的第二个 vaadin 页面?与 Blackboard 代码示例一样,我的 Blackboard Bus 是静态的。
如前所述,我想选择一个人,然后导航到另一个页面以加载此人的其他信息。如果用户导航回第一页并选择另一个人,再次单击按钮导航到第二页,则第二页应刷新并显示新选择的人的数据。
目前,我的第二个页面加载,但与 NullPointerException 崩溃,因为 selectedPerson 变量为空,我不明白如何使用 Blackboard Listener 使用从事件中检索到的人员数据刷新 UI。
我现在真的不知道该怎么做。
【问题讨论】:
-
我强烈建议您在进一步实施您的应用程序之前通读Documentation 页面。我相信您在阅读它时也会了解其他最佳实践。您正在寻找的是HasUrlParameter interface。
标签: java sql-server spring vaadin vaadin-flow