【发布时间】:2021-05-07 18:08:12
【问题描述】:
Vaadin 19.0.6,弹簧靴。例如,在两个不同的浏览器或选项卡中打开使用 @UIScope 注释的同一视图。然后为 window1 中的网格请求数据。现在从 window1 中的视图导航并为 window2 中的网格请求不同的数据。返回到 window1 中的视图,您将在网格中看到与 window2 中相同的数据。我还不明白如果你有 @UIScope 会发生这种情况 - 范围仅限于浏览器选项卡。某种 DataProvider 共享?
【问题讨论】:
-
UiScope 只是一个“浏览器”选项卡(如果不刷新页面,每个选项卡都有一个 UI)。也许您正在使用单例 Spring Bean(没有范围注释的 @Component )。如果不是这样,也许您可以发布代码示例。
-
@Jean-ChristopheGueriaud Service bean 和 DataProvider bean 没有 Scope 注释和 Component 注释。我试图用 UiScope 注释标记 Service 和 DataProvider ,但没有成功。我在下面的答案中描述了我的情况和解决方案。
-
是的。正如我所说,没有任何代码很难猜测。在我看来,你的服务层不应该有特定的视图或 UI,因为你的服务层(大部分时间)是作为单例共享的。很好,你自己找到了解决方案。
标签: vaadin vaadin-flow vaadin-grid