我想實現我的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