Implementación de la gestión de estado con la infraestructura de interfaz de usuario web

Al instalar la aplicación que utiliza la infraestructura de interfaz de usuario web, se proporciona una implementación predeterminada de la gestión de estado.

En la infraestructura JavaScript de Ext JS, Ext.state.Provider es la clase base abstracta para implementaciones de proveedor de estado. Esta clase proporciona métodos para codificar y decodificar las variables con tipo, incluidas las fechas y las definiciones de la interfaz de proveedor.

Si desea proporcionar su propia implementación de la gestión de estado, la clase Ext.state.CookieProvider ofrece un ejemplo de esta implementación.

El estado se guarda periódicamente mediante la publicación de los datos en un servlet, que a su vez delega la tarea en una clase que se ha especificado en el archivo web.xml. La infraestructura de la interfaz de usuario define una interfaz que la clase del archivo web.xml debe implementar.

<context-param>
   	<param-name>scui-uistate-provider</param-name>
	   <param-value>
     com.sterlingcommerce.ui.web.platform.state.SCUIStateProvider
    </param-value>
</context-param>
El proveedor de estado predeterminado colabora con la biblioteca Ext de la manera siguiente:
  • Coloca en la memoria caché local los estados de los componentes y así se consigue una recuperación más rápida de las acciones posteriores.
    Nota: Esto puede no ser útil para aplicaciones de varias páginas.
  • Guarda el estado disponible/modificado en la base de datos al descargar una página. Se presupone que no se ha excedido el tiempo de espera de sesión.
  • La biblioteca Ext llama automáticamente al método get state de todos los componentes sensibles al estado.
  • La biblioteca Ext llama automáticamente al método set state siempre que se modifica el estado para un componente.

De forma predeterminada, la implementación de gestión de estado no se registra con la biblioteca Ext JS. La aplicación debe registrar la implementación. Esto ofrece flexibilidad si la aplicación no necesita que el estado de la interfaz de usuario se mantenga.