Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何向Vaadin项目添加新UI?_Java_Eclipse_Glassfish_Vaadin - Fatal编程技术网

Java 如何向Vaadin项目添加新UI?

Java 如何向Vaadin项目添加新UI?,java,eclipse,glassfish,vaadin,Java,Eclipse,Glassfish,Vaadin,我真的不知道如何向Vaadin项目添加新页面。作为一个实验,我重命名了一页: 我改名为: @WebServlet(value = "/*", asyncSupported = true) 致: 但是,我需要一个新页面: @WebServlet(value = "/blabla2", asyncSupported = true) 不幸的是,当我重命名第一个时,我在Chrome中得到了这样一条信息: 未能加载引导javascript vaadin 鉴于上述例子的重命名似乎失败了,我如何添加第二个

我真的不知道如何向Vaadin项目添加新页面。作为一个实验,我重命名了一页:

我改名为:

@WebServlet(value = "/*", asyncSupported = true)
致:

但是,我需要一个新页面:

@WebServlet(value = "/blabla2", asyncSupported = true)
不幸的是,当我重命名第一个时,我在Chrome中得到了这样一条信息:

未能加载引导javascript vaadin


鉴于上述例子的重命名似乎失败了,我如何添加第二个网页?

安德烈的答案并不完全正确。虽然简单的Vaadin应用程序可以像单页应用程序一样,只修改UI内容而不更改url,但应用程序通常比这更复杂,需要不同的方法

使用单一url的Signgle页面应用程序有几个缺点。应用程序通常由许多部分和状态组成,通常这些部分和状态都有自己的URL。用户可以直接导航到所需的组件或状态,将其标记为书签以便以后直接访问,还可以使用后退和后退按钮等

在瓦丁,这是通过导航器实现的。每个UI由多个视图组成。导航器然后用于在视图之间导航。每个视图都有一个由url片段表示的唯一url,因此用户可以在其中导航、bookmart等

您可以阅读有关导航的详细教程

普通的Vaadin应用程序没有正常的网页导航 它们通常在单个页面上运行,就像所有Ajax应用程序一样。相当地 但是,应用程序通常有不同的视图,不同的视图之间 用户应该能够导航。可以使用Vaadin中的导航器 对于大多数情况下的导航。导航器管理的视图 自动获取一个不同的URI片段,该片段可用于 能够为视图及其状态添加书签,并可以返回和前进 在浏览器历史记录中


下面是一个在Vaadin中使用Navigator的简单类示例。首先创建一个简单的navigator对象,并在布局中使用它来显示视图

公共类NavigationtestUI扩展UI{ @凌驾 公共无效初始化请求{ //创建导航器,使用UI内容布局显示视图 Navigator Navigator=new Navigator,即getContent; //添加一些视图 navigator.addViewMainView.NAME,新的MainView;//无片段 //每次导航到count时,它都将是一个新实例,counts: navigator.addViewCountView.NAME,CountView.class; //导航到视图 navigator.navigate; }
} 基于片段的URL确实应该受到青睐。您还可以通过提供一个


如果您使用或中的任何一个,并且您确实应该使用其中的任何一个,那么您也可以通过提供url的最后一部分作为注释的参数,将UI映射到不同的url。

在vaadin中,您不使用基于页面/url的导航。这是一个由您启动的应用程序,然后在此应用程序中修改UI。不需要不同的URL's@andr艾希尔德非常感谢你。但我还有一个问题。您使用哪种模式实现同一页面中的两个功能?
@WebServlet(value = "/blabla2", asyncSupported = true)