2014-12-07 5 views
1

Как мне перемещаться между под-представлениями в пользовательском интерфейсе Vaadin. Я хочу, чтобы мой заголовок на веб-сайте оставался статичным, как основная страница, и просмотр содержимого для изменения с помощью навигации. Как я могу это сделать в Ваадине.VAADIN 7: Навигация в подпунктах

ответ

2

Ну, вы можете просто создать свой пользовательский интерфейс с заголовком (и, если необходимо, другим материалом) и компонентом, который будет выступать в качестве заполнителя для изменяющегося содержимого. Затем я добавляю метод, который получает новое содержимое для отображения и помещает его внутри держателя места. Вот код:

public class MyUI extends UI implements ErrorHandler { 

// I usually use a layout as a place holder 
private VerticalLayout content; 
... 

    @Override 
    public void init(VaadinRequest request) { 
     ... 
     content = new VerticalLayout(); 
     content.setSizeFull(); 

     final VerticalLayout layout = new VerticalLayout(header, menu, content, footer); 
     layout.setMargin(true); 
     setContent(layout); 
    } 

    public void changeContent(Component view) { 
     content.removeAllComponents(); 
     content.addComponent(view); 
     content.setComponentAlignment(view, Alignment.MIDDLE_CENTER); 
    } 

} 
+0

Что является основным в функции changeContent? – carora3

+0

«main» должен был быть «контентом», извините (отредактированный код). – shoguren

+0

Но проблема в том, что я не могу вернуться на предыдущую страницу с помощью кнопки назад. – carora3

0

Если в вас приложении необходима поддержка закладок браузера и навигации (прямые и обратные кнопки), вы должны будете использовать URIFragments, описанный на book of vaadin.

Общий способ его использования является с Navigator:

public class NavigatorUI extends UI { 
Navigator navigator; 
protected static final String MAINVIEW = "main"; 

@Override 
protected void init(VaadinRequest request) { 
    getPage().setTitle("Navigation Example"); 

    // Create a navigator to control the views 
    navigator = new Navigator(this, this); 

    // Create and register the views 
    navigator.addView("", new StartView()); 
    navigator.addView(MAINVIEW, new MainView()); 
} } 


Ваше мнение нужно будет implemente на вид интерфейса, как описано в book of vaadin

И если вы используете Spring, вы можете также используйте аддон, например SpringVaadinIntegration или vaadin4spring, чтобы сделать это проще, и каждый из них имеет несколько других преимуществ.

Смежные вопросы