У меня есть страница с ошибкой в пользовательском интерфейсе vaadin. Но иногда мы можем написать неверный URL-адрес и увидеть страницу с ошибкой springboot.
В этом случае я хочу показать страницу ошибки пользовательского интерфейса vaadin. Кстати, у меня уже есть отрендеренная страница 404 для springboot. Но я не хочу этого показывать.
Это мой интерфейс ошибки vaadin. Но это работает в приложении. (http://localhost:7001/MyApplication/#!error)
иногда я пишу неверный URL-адрес, например: http://localhost:7001/MyApplication/blablablabla
в этом случае я хочу перенаправить страницу ошибки vaadin (http://localhost:7001/MyApplication/#!error) Но Springboot перенаправляет меня на отображаемую страницу 404.
Это возможно?
@UIScope
@SpringView(name = ErrorView.VIEW_NAME)
public class ErrorView extends VerticalLayout implements View {
public static final String VIEW_NAME = "error";
private Label explanation;
public ErrorView() {
Label header = new Label("The view could not be found");
header.addStyleName(MaterialTheme.LABEL_H1);
addComponent(header);
addComponent(explanation = new Label());
}
@Override
public void enter(ViewChangeListener.ViewChangeEvent event) {
explanation.setValue(String.format("You tried to navigate to a view ('%s') that does not exist.", event.getViewName()));
getUI().getNavigator().navigateTo(ErrorView.VIEW_NAME);
}
}