Vaadin是否通过链接加载另一个视图?

Vaadin是否通过链接加载另一个视图?,vaadin,vaadin7,Vaadin,Vaadin7,请告诉我,有可能吗 我有一个链接 Link jobNameLink = new Link(jobName, new ExternalResource("opla")); 当你点击这个链接下载一个不同的视图时,我需要修改。 如果不可能,该问题的可能解决方案是什么?您有两种选择: 使用按钮而不是链接: Button button = new Button("Click me!", new Button.ClickListener() { @Override public void

请告诉我,有可能吗

我有一个链接

Link jobNameLink = new Link(jobName, new ExternalResource("opla"));
当你点击这个链接下载一个不同的视图时,我需要修改。 如果不可能,该问题的可能解决方案是什么?

您有两种选择:

使用按钮而不是链接:

Button button = new Button("Click me!", new Button.ClickListener() {
    @Override
    public void buttonClick(ClickEvent clickEvent) {
        // Logic for opening correct view
    }
});
button.setStyleName(Reindeer.BUTTON_LINK);
或者使用UriFragmentUtility(Vaadin 6)或UriFragmentChangedListener(Vaadin 7)侦听URI片段更改,然后可以使用普通链接:以下是Vaadin 7的示例:

Page.getCurrent().addUriFragmentChangedListener(new Page.UriFragmentChangedListener() {
    @Override
    public void uriFragmentChanged(Page.UriFragmentChangedEvent e) {
         System.out.println("fragment changed: " + e.getUriFragment());
    }
});


new Link("click me!", new ExternalResource("#asdf"))

是的,我希望这个链接的例子能让我明白我需要什么。我想这个链接的例子就是我需要的。非常感谢。