Vaadin通过Link加载另一个视图?

时间:2013-01-22 22:25:28

标签: vaadin vaadin7

请告诉我,是否有可能。

我有一个链接。

Link jobNameLink = new Link(jobName, new ExternalResource("opla"));

我需要在您点击此链接下载其他视图时。 如果不可能,这个问题的可能解决方案是什么?

1 个答案:

答案 0 :(得分:9)

您有两种选择:

使用Button代替Link:

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"))