【发布时间】:2015-10-10 21:57:29
【问题描述】:
首先我在这里有一个简单的 UI,它有一个 addMenueItem() 方法。此方法获取 view-id 并向菜单添加一个按钮,并告诉 Vaadin 的导航器在单击时导航到它:
.........
@PostConstruct
private void initPage() {
navigator.addProvider(viewProvider);
contentLayout.setSizeFull();
}
protected void addMenuItem(final String viewId) {
final String postfix;
if (viewId == null || viewId.trim().isEmpty()) {
postfix = "";
} else {
postfix = "." + viewId;
}
final String name = messageByLocaleService.getMessage(I18N_PREFIX + postfix);
menue.addItem(name, menueCommand -> getUI().getNavigator().navigateTo(viewId));
}
.........
所以我从我的 MainUI 添加了一些视图,例如:
addMenuItem(DefaultView.VIEW_ID);
基于 Spring url 的视图解析器现在从“DefaultView.VIEW_ID”的值调用 id。现在我正在寻找一个很好的解决方案,将给定的 view-id 不仅映射到“/VIEW-ID”,而且映射到应用程序根路径-->“/”。
我如何告诉 Spring 这个特殊的 ViewID 也是 /VIEW-ID 的根或同义词?
当然有可能在某种 Tomcat 的 xml 文件或其他东西中对其进行硬编码,但我想动态地这样做。
提前致谢
PS:我对spring和这种东西很陌生,请礼貌:D
【问题讨论】:
-
简而言之,
""(空字符串)匹配默认视图,因为在访问根路径时没有 URI 片段。您可以在vaadin book 和in the vaadin wiki 中阅读有关导航器的更多信息,您可以找到有关 vaadin 和 spring boot 的教程。
标签: java spring spring-boot vaadin