首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法知道Vaadin是否已经刷新(F5重新加载),当它不是@PreservedOnRefresh时

有没有办法知道Vaadin是否已经刷新(F5重新加载),当它不是@PreservedOnRefresh时
EN

Stack Overflow用户
提问于 2014-12-11 05:11:42
回答 2查看 4K关注 0票数 1

只是一个关于Vaadin的问题,我搜索了很多,但没有找到有用的信息。

我需要知道UI是否在没有@PreserveOnRefresh注解集的情况下被刷新(这意味着覆盖UI.refresh()对我不起作用)。

基本上,我有一个Map,它将用户会话id映射到浏览器中打开的UI,当检测到新的UI时,我需要将其添加到当前会话的UI集合中。

如果用户在浏览器中请求相同的UI (由Servlet @WebServlet配置映射的相同UI实现),当且仅当它是在浏览器的另一个窗口或另一个选项卡中打开的UI时,我需要添加该UI,并且如果浏览器窗口被刷新,我需要什么也不做,或者最好是删除旧UI并放入新UI。

我知道如果我向UI添加一个@PreservOnRefresh注解,这将会起作用(但同样,我需要UI不可保留)。

那么我如何才能真正做到这一点呢?我发现这个实现(对我来说有点丑陋)是-> http://dev.vaadin.com/ticket/12191#trac-change-5-1374239207261117

有没有其他可能的方法来做到这一点?

感谢您的关注!

EN

Stack Overflow用户

发布于 2016-08-31 18:33:05

只需覆盖UI类中refresh()方法即可。它适用于@PreserveOnRefresh,因此您不必重新初始化您的UI实例。

代码语言:javascript
运行
复制
@Override
protected void refresh(VaadinRequest request) {
    super.refresh(request);
    // TODO do your thing here
}
票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27410868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档