我正在尝试Vaadin。我开发了两个班。在这两个类中,我使用类似下面的代码扩展了它的servlet:
@VaadinServletConfiguration(productionMode = false, ui = <CurrentClassName>.class)
public static class Servlet extends VaadinServlet {
}
当我运行第二个类时,它总是显示第一个类的UI。我尝试重启Tomcat但它仍然是一样的。 例如
http://localhost:8080/hms/servlet/com.test.ui.TestClass2$Servlet
我尝试创建一个新类,当我运行它时,即使它显示第一个的UI。
请帮助理解并解决问题。
谢谢!
答案 0 :(得分:0)
创建扩展基本UIProvider的类MyUIProvider并覆盖getUIClass方法。
例如:
public class MyUIProvider extends UIProvider
{
@Override
public Class extends UI> getUIClass(UIClassSelectionEvent event)
{
// imlement UI class choosing logic here
return MyUI.class;
}
将init-param添加到web.xml中的VaadinServlet:
...
<servlet>
<servlet-name>VAADIN</servlet-name>
<servlet-class>com.vaadin.server.VaadinServlet</servlet-class>
<init-param>
<param-name>UIProvider</param-name>
<param-value>your.package.MyUIProvider</param-value>
<description>Your custom UIProvider</description>
</init-param>
</servlet>
...