Spring boot 如何将springboot错误页面重定向到vaadin错误UI?
我在vaadin UI中有一个错误页面。但有时我们会写一个错误的url,我们会看到springboot错误页面 在这种情况下,我想显示vaadin UI错误页面。顺便说一下,我已经为springboot提供了一个404页面。但我不想表现出来 这是我的vaadin错误UI。但这适用于应用程序。() 有时我会这样写一个无效的url: 在本例中,我想重定向vaadin错误页面(),但springboot将我重定向到呈现的404页面 有可能吗Spring boot 如何将springboot错误页面重定向到vaadin错误UI?,spring-boot,vaadin8,Spring Boot,Vaadin8,我在vaadin UI中有一个错误页面。但有时我们会写一个错误的url,我们会看到springboot错误页面 在这种情况下,我想显示vaadin UI错误页面。顺便说一下,我已经为springboot提供了一个404页面。但我不想表现出来 这是我的vaadin错误UI。但这适用于应用程序。() 有时我会这样写一个无效的url: 在本例中,我想重定向vaadin错误页面(),但springboot将我重定向到呈现的404页面 有可能吗 @UIScope @SpringView(name = Er
@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);
}
}
您可以将404/500页面放在resources/error/folder下,当出现错误时,SpringBoot将自动重定向这些页面。我认为SpringNavigator可以解决您的问题。在定义导航器时,还可以定义错误视图。请参见下面的示例
@SpringUI(path = "ui")
public class DemoUI extends com.vaadin.ui.UI {
@Override
protected void init(VaadinRequest vaadinRequest) {
SpringNavigator navigator = new SpringNavigator();
navigator.setErrorView(new ErrorView());
setNavigator(navigator);
}
}
抱歉,但是vaadin UI不是html页面。我知道当我们在vaadin路径中使用不同的url时,您的suggestion.navigator对象为null,因为这是一种com.vaadin.navigator类型,用于在vaadin页面中导航。