Implementando Gerenciamento de Estado com o Web UI Framework

Quando você instala o aplicativo que usa o Web UI Framework, uma implementação padrão de gerenciamento de estado é fornecida.

Na estrutura JavaScript do Ext JS, Ext.state.Provider é a classe base abstrata para implementações do provedor de estado. Essa classe fornece métodos para variáveis digitadas de codificação e decodificação, incluindo datas e definições da interface do Provedor.

Se você desejar fornecer sua própria implementação de gerenciamento de estado, a classe Ext.state.CookieProvider terá um exemplo dessa implementação.

O estado é salvo periodicamente ao postar os dados em um servlet que, por sua vez, delega a tarefa para uma classe que é especificada no arquivo web.xml. A estrutura de UI define uma interface que a classe no arquivo web.xml precisa implementar.

<context-param>
   	<param-name>scui-uistate-provider</param-name>
	   <param-value>
     com.sterlingcommerce.ui.web.platform.state.SCUIStateProvider
    </param-value>
</context-param>
O provedor de estado padrão trabalha junto com a biblioteca Ext da seguinte forma:
  • Armazenamento em cache local de estados de componente para recuperação mais rápida sobre ações subsequentes.
    Nota: Isso pode não ser útil para vários aplicativos de página
  • Salva o estado disponível/alterado no banco de dados no descarregamento da página. Este assume que o tempo limite de sessão não ocorreu.
  • A biblioteca Ext automaticamente chama o método de estado get para todos os componentes que estão cientes de estado.
  • A biblioteca Ext chama automaticamente o estado de método set sempre que o estado for alterado por um componente.

Por padrão, a implementação de gerenciamento e estado não é registrada com a biblioteca Ext JS. A implementação precisa ser registrada pelo aplicativo. Isso fornecerá flexibilidade se o aplicativo não requerer que o estado de UI seja persistido.