Vaadin загрузить другое представление по ссылке?

Подскажите, возможно ли такое.

У меня есть ссылка.

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

Мне нужно, когда вы нажмете на эту ссылку, чтобы загрузить другой вид. Если это невозможно, то каковы возможные решения этой проблемы?


person JDev    schedule 22.01.2013    source источник
comment
да я надеюсь, что пример ссылки, которая привела меня ниже, то, что мне нужно.   -  person JDev    schedule 23.01.2013


Ответы (1)


У вас есть два варианта:

Используйте кнопку вместо ссылки:

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

Или прослушивайте изменения фрагментов URI с помощью UriFragmentUtility (Vaadin 6) или UriFragmentChangedListener (Vaadin 7), а затем вы можете использовать обычную ссылку: Вот пример с 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"))
person Henri Kerola    schedule 23.01.2013
comment
Я думаю, что пример ссылки - это то, что мне нужно. Благодарю вас! - person JDev; 23.01.2013