Как я могу добавить новый пользовательский интерфейс в проект Vaadin?

1

Я не знаю, как добавить новую страницу в проект Vaadin. В качестве эксперимента я переименовал одну страницу:

Я переименовал это:

@WebServlet(value = "/*", asyncSupported = true)

Для того, чтобы:

@WebServlet(value = "/blabla1", asyncSupported = true)

Однако я хочу новую страницу:

@WebServlet(value = "/blabla2", asyncSupported = true)

Unfortunatley, когда я переименовал первый, я получаю это сообщение в Chrome:

не удалось загрузить bootstrap javascript vaadin

Как добавить вторую веб-страницу, учитывая, что приведенное выше переименование примера кажется неудачным?

  • 0
    В vaadin вы не используете навигацию на основе страниц / URL. Это приложение, которое вы запускаете, а затем внутри этого приложения вы изменяете пользовательский интерфейс. Нет необходимости в разных URL
  • 0
    @ andré-schild Большое спасибо. Но тогда у меня есть другой вопрос. Какой шаблон вы используете для реализации, например, двух функций на одной странице?
Теги:
glassfish
vaadin

3 ответа

0
Лучший ответ

Ответ Андре не совсем корректен. В то время как простые приложения Vaadin могут вести себя как одностраничные приложения, в которых вы изменяете только содержание пользовательского интерфейса без изменения URL-адреса, приложения обычно более сложны и требуют другого подхода.

Приложения с одной страницей имеют несколько недостатков. Приложение обычно состоит из многих частей и состояний и обычно имеет свои собственные URL-адреса. Пользователь может перейти непосредственно к желаемому компоненту или состоянию, пометить его, чтобы посещать его непосредственно позже, использовать кнопки назад и froward и т.д.

В Ваадине это достигается сквозным навигатором. Каждый пользовательский интерфейс состоит из количества просмотров. Навигатор затем используется для навигации между представлениями. Каждый вид имеет свой уникальный URL-адрес, представленный фрагментом URL-адреса, поэтому пользователи могут перемещаться туда, открывать книгу и т.д.

Вы можете прочитать подробное руководство по навигации здесь в книге ваадина.

Обычные приложения Vaadin не имеют обычной навигации по веб-страницам, поскольку они обычно работают на одной странице, как это делают все приложения Ajax. Однако, как правило, приложения имеют разные представления, между которыми пользователь должен иметь возможность перемещаться. Навигатор в Ваадине можно использовать для большинства случаев навигации. Представления, управляемые навигатором, автоматически получают отдельный фрагмент URI, который можно использовать, чтобы иметь возможность добавлять закладки и их состояния, а также возвращаться и переходить в историю браузера.

0

Фрагментные URL-адреса действительно являются тем, что должно быть предпочтительным. Вы также можете использовать различные пользовательские интерфейсы Vaadin для разных URL-адресов (без фрагмента), предоставляя собственный пользовательский интерфейс.

И если вы используете либо Vaadin CDI, либо Vaadin Spring (и вы действительно должны использовать любой из них), вы также можете отображать пользовательские интерфейсы в разные URL-адреса просто путем предоставления последней части URL-адреса в качестве параметра аннотации.

0

Вот простой пример класса для использования "Навигатора" в Ваадине. Сначала создайте простой объект навигатора и используйте его в макете для отображения представлений.

public class NavigationtestUI extends UI {
  @Override
    public void init(VaadinRequest request) {

  // Create Navigator, use the UI content layout to display the views
  Navigator navigator = new Navigator(this, getContent());

 // Add some Views
  navigator.addView(MainView.NAME, new MainView()); // no fragment

 // #count will be a new instance each time we navigate to it, counts:
 navigator.addView(CountView.NAME, CountView.class);

 // Navigate to view
 navigator.navigate();
     }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню