gpt4 book ai didi

java - 如何在 Vaadin 中获取当前 View 名称

转载 作者:行者123 更新时间:2023-12-01 12:52:13 26 4
gpt4 key购买 nike

我正在使用 Vaadin 7。我想在治疗完成后将我的页面重定向到上一个页面。为此,我需要知道哪个 View 调用了我的新 View ,以便稍后可以重定向到它。我知道我必须在这里添加一些内容:

 getNavigator().addViewChangeListener(new ViewChangeListener() {

@Override
public boolean beforeViewChange(ViewChangeEvent event) {

myNewView.REDIRECT_TO = //here is the problem :)
}

知道我该怎么做吗?

最佳答案

您可以使用ViewChangeEvent.getOldView()方法来检索View对象。现在,默认情况下无法从那里获取 View 的名称,因为理论上您可以使用多个名称注册相同的View。但假设每个 View 只有一个名称,您可以执行以下操作:

创建一个接口(interface),HasName,如下所示:

public interface HasName {
String getName();
}

然后在所有 View 类中实现 HasName。在 Navigator 中注册 View 时,使用 getName() 方法来引用 View 的名称。之后,您可以简单地在 ViewChangeListener 中进行强制转换,并使用相同的方法来访问那里的名称。

getNavigator().addViewChangeListener(new ViewChangeListener() {
@Override
public boolean beforeViewChange(ViewChangeEvent event) {
View oldView = event.getOldView();
if (oldView != null) {
String oldViewName = ((HasName) oldView).getName();
// do stuff with oldViewName
}
}
}

关于java - 如何在 Vaadin 中获取当前 View 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24135750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com