Struts 2 - Carregar combobox após erro de validação

Olá a todos!
Utilizo struts 2 com validator. Tenho uma página jsp que possui uma combobox que recebe dados de uma uma list gerada na classe action.
Até aí tudo bem… A página carrega normalmente. O problema ocorre quando o conteúdo submit não é validado no validator. O processo é paralisado pelo validator e a list não é gerada…

A única forma que funcionou foi colocando a lista no método contrutor (nada elegante).

Em resumo, acho que preciso uma forma de executar um método da action mesmo quando o conteúdo não é validado.

Alguma dica?

[]s

Eae Bacamarte, td em riba?

Velho, no Struts 2, “uma boa pratica” é vc sempre garantir que suas variáveis de instância da sua action sejam inicializadas sempre. Ta acontecendo o seguinte velho, quando vc “chama” a pagina pela primeira vez, o seu contrutor é chamado e sua lista é populada. Porém, quando a validação falha, o seu ‘objeto’ action não é criado novamente, e infelizmente a cada requisição os valores das variáveis se perdem.

Para resolver seu problema faça o seguinte:

public class YourAction implements Preparable {
        public List<String> yourist;

        public YourAction(){
        }

        public void prepare() throws Exception{
               //initialize your list here
        }
}

Implementando a interface Preparable, o metodo prepare() SEMPRE vai ser chamado antes de sua pagina ser renderizada, e assim vc pode mandar seus atributos sempre consistentes.

Espero que tenha ajudado.

Caro Rodrigo!!! Muito obrigado mesmo!!! Já estava a mais de um dia batendo a cabeça com esse problema.

Apenas para deixar registrado no tópico, incluir a linha abaixo na configuração do interceptor:

Grande Abraço