You have two options:
Use Button instead of 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);
Or listen URI fragment changes by using UriFragmentUtility (Vaadin 6) or UriFragmentChangedListener (Vaadin 7) and then you can use a normal link: Here's an example with 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"))