我想实现我的vaadin申请春季意见,但我得到我的SpringViewProvider的NPE(“不能添加空视图提供”)。这是我的代码:SpringViewProvider春季UI的Vaadin
@SpringUI(path = "permalink")
@Theme("myTheme")
public class PermalinkUI extends UI {
@Autowired
private SpringViewProvider springViewProvider;
private Navigator navigator;
@Override
protected void init(VaadinRequest request) {
final VerticalLayout root = new VerticalLayout();
root.setSizeFull();
root.setMargin(true);
root.setSpacing(true);
setContent(root);
final Panel viewContainer = new Panel();
viewContainer.setSizeFull();
root.addComponent(viewContainer);
root.setExpandRatio(viewContainer, 1.0f);
navigator = new Navigator(this, viewContainer);
navigator.addProvider(springViewProvider);
setNavigator(navigator);
setContent(root);
我也尝试使用ViewDisplay而不是单个组件容器(根),但具有相同的结果。我也实现了一个测试视图导航到:
@SpringView(name = "test")
public class PermalinkTest extends VerticalLayout implements View {
@Override
public void enter(ViewChangeListener.ViewChangeEvent event) {
removeAllComponents();
String params = event.getParameters();
addComponent(new Label(params));
}
}
我写这个URL“本地主机时,得到这个NPE:8080 /永久/测试 缺少什么我不应该SpringViewProvider被装配
? 。问候约翰
视图是accesed用''#前缀,因此,给一个尝试与本地主机':!8080 /永久/#test',看看它是否工作。如果没有前缀,你正在试图访问是'/永久/ test'路径映射,而不是一个视图的UI。 – saljuama