Pergunta

A verdadeira pergunta: Existe uma maneira de limpar certos atributos para todos os componentes em uma página inicial de carga?

Informações de fundo:

No meu aplicativo, tenho uma camada de front -end JSF 2.0 que fala com uma camada de serviço (a camada de serviço é composta de feijões de mola que são injetados no feijão gerenciado).

A camada de serviço faz sua própria validação e faço a mesma validação na camada de front -end usando minhas próprias classes de validador para tentar evitar a duplicação de código de alguma forma. Essas classes de validador não são validadores JSF, são apenas pojos.

Estou apenas fazendo validação em uma ação; portanto, no método de ação, executo validação e somente se for válido, chamo até a camada de serviço.

Quando faço minha validação, defino o styleclass e o título nos uicomponentes usando reflexão (portanto, se o uicomponent tiver os métodos setStyLeclass (: string) ou seditar (: string), eu os uso).

Isso funciona bem, e em um erro de validação, vejo uma caixa de texto com um estilo com um pop -up contendo a mensagem de erro se eu passar o mouse sobre ela. No entanto, como o componente está vinculado a um feijão gerenciado com escopo escopo, parece que esses atributos ficam. Portanto, se eu navegar e voltar para a mesma página, o StyleClass e o título ainda estarão no estado de erro.

Existe uma maneira de limpar os atributos do StyleClass e do título em cada página inicial do carregamento?

Obrigado,

James

PS Estou usando o método de ação para validar por causa de alguns problemas que tive antes com o JSF 1.2 e seus métodos de validação, mas não consigo lembrar por que ... então é por isso que estou usando o método de ação para validar.

Foi útil?

Solução

Ok, então devo usar um phaselistener, veja Esta entrada do blog de Balusc e Esta outra entrada do blog, essa é uma maneira muito melhor de fazer o que já estou fazendo - definindo o estilécimo usando manualmente a reflexão - que recebe todos os componentes com mensagens e os destaca ... eu vou fazer o mesmo, mas acho que é possível adicionar um atributo Em vez disso, ainda não tentei.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top