Могут ли некоторые сообщить мне, почему я получаю исключение NullPointerException, когда мы пытаемся перейти от входа в систему к домашней странице.
Страница входа, которая имеет метод NavigaeTO, указывающий на HomePage, находится ниже
public class MyUI extends UI implements View {
Navigator navigator;
@Override
protected void init(VaadinRequest vaadinRequest) {
final VerticalLayout vlayout = new VerticalLayout();
final TextField name1 = new TextField();
name1.setCaption("Username");
final TextField name2 = new TextField();
name2.setCaption("Password");
final HorizontalLayout hlaylout1 = new HorizontalLayout();
Button button1 = new Button("Login",
new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
System.out.print("Here is the View String "+NavigatorUI.HOMEVIEW);
getNavigator().navigateTo(NavigatorUI.HOMEVIEW);
}
});
Button button2 = new Button("Cancel");
hlaylout1.addComponents(button1, button2);
vlayout.addComponents(name1,name2, hlaylout1);
setContent(vlayout);
}
@WebServlet(urlPatterns = "/*", name = "MyUIServlet", asyncSupported = true)
@VaadinServletConfiguration(ui = MyUI.class, productionMode = false)
public static class MyUIServlet extends VaadinServlet {
}
}
Домашняя страница, которая должна открываться при нажатии кнопки входа, равна
public class HomeView extends UI implements View {
Navigator navigator;
@Override
protected void init(VaadinRequest vaadinRequest) {
final VerticalLayout vlayout = new VerticalLayout();
final TextField name1 = new TextField();
name1.setCaption("HomePage");
vlayout.addComponents(name1);
setContent(vlayout);
}
@WebServlet(urlPatterns = "/*", name = "MyUIServlet", asyncSupported = true)
@VaadinServletConfiguration(ui = MyUI.class, productionMode = false)
public static class MyUIServlet extends VaadinServlet {
}
}
И класс навигатора:
public class NavigatorUI extends UI {
Navigator navigator;
public static final String HOMEVIEW = "HOMEVIEW";
@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(HOMEVIEW, new HomeView());
navigator.addView("", new MyUI());
// navigator.addView(MAINVIEW, new MainView());
}
}
Я получаю исключение NullPointerException для метода NavigateTo. Может кто-нибудь сообщить мне, в чем проблема?