В Vaadin Flow запись подкласса класса UI
больше не требуется.Тем не менее, страница руководства по Различия между приложениями V10 и V8 предполагает, что мы можем это сделать.
Проблема: класс UI
в Flow не имеет метода UI::setContent
.
Эта обычная строка кода в нашем методе UI::init
не выполняется в потоке:
this.setContent( layout ); // <--- No method `setContent` found in Flow
➥ Как нам настроить отображение содержимого в нашем подклассе UI
во время выполнения?
Вот мой код с ошибочной строкой setContent
.
package com.acme;
import com.vaadin.flow.component.UI;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.server.VaadinRequest;
import com.vaadin.flow.server.VaadinServlet;
import com.vaadin.flow.server.VaadinServletConfiguration;
import javax.servlet.annotation.WebServlet;
public class MyUI extends UI {
protected void init ( VaadinRequest request ) {
VerticalLayout layout = new VerticalLayout();
this.setContent( layout );
}
@WebServlet (
urlPatterns = "/*",
name = "myservlet",
asyncSupported = true
)
// The UI configuration is optional
@VaadinServletConfiguration (
ui = MyUI.class,
productionMode = false
)
public class MyServlet extends VaadinServlet {
}
}