vaadin显示错误的课程

时间:2014-05-18 06:44:14

标签: java java-ee servlets vaadin vaadin7

我正在尝试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。

请帮助理解并解决问题。

谢谢!

1 个答案:

答案 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>
 ...