3.5.18. 通用 UI 基础设施

本节介绍通用 UI 的基础设施类,可以在应用程序中对它们进行扩展。

WebClientInfrastructure

Figure 27. 通用 UI 基础设施类

  • AppUI 继承于 com.vaadin.ui.UI。对于 Web 浏览器打开的每个标签页,都有一个此类的实例。它指向一个 RootWindow,根据连接状态的不同,一个 RootWindow 可能包含了一个登录界面或者主界面。可以使用 AppUI.getCurrent() 静态方法获取对当前浏览器标签页的 AppUI 的引用。

    如果想自定义项目中 AppUI 的功能,需要在 web 模块创建一个继承 AppUI 的类,并在web-spring.xml中使用 cuba_AppUI id 和 prototype scope 进行注册,示例:

    1. <bean id="cuba_AppUI" class="com.company.sample.web.MyAppUI" scope="prototype"/>
  • Connection 是一个接口,此接口提供连接到中间件和保持用户会话的功能。ConnectionImpl 是此接口的标准实现。

    如果想自定义项目中 Connection 的功能,需要在 web 模块创建一个继承 ConnectionImpl 的类,并在web-spring.xml中使用 cuba_Connection id 和 vaadin scope 进行注册,示例:

    1. <bean id="cuba_Connection" class="com.company.sample.web.MyConnection" scope="vaadin"/>
  • ExceptionHandlers 类包含客户端级(client-level)异常处理器的集合。

  • App 包含 ConnectionExceptionHandlers 以及其它基础设施对象的链接。框架会为每一个 HTTP 会话创建一个该类的单例,并存储在会话的属性中。可以使用 App.getInstance() 静态方法获取 App 实例的引用。

    如果想自定义项目中 App 的功能,需要在 web 模块创建一个继承 DefaultApp 的类,并在web-spring.xml中使用 cuba_App id 和 vaadin scope 进行注册,示例:

    1. <bean name="cuba_App" class="com.company.sample.web.MyApp" scope="vaadin"/>