Prezados
Estou desenvolvendo minha primeira aplicação utilizando o framework struts. Estou tendo algumas dificuldades, como todo iniciante, mas com algumas pesquisas as mesmas vão sendo resolvidas. Porém tenho um problema quando da utilização do método validate() em uma classe que extend ActionForm.
EXEMPLO:
Um formulario, extendendo de ActionForm com um atributo qualquer e os respectivos getters e setters, o metodo reset() e o metodo validate().
Se no metodo validate() for adicionado um erro em ActionErrors, o fluxo retorna para o jsp e mostra a mensagem de erro, mas o valor previamente digitado pelo usuario nao retorna, parece que o mesmo tenha sido limpo.
Para contornar o problema, eu testo se ocorreu algum erro, e caso positivo, eu adiciono o atributo na request. Dessa forma funciona porém não deveria ser essa forma correta pois, em todo material que leio sobre o assunto, diz que os valores são mantidos.
A minha action esta configurada/mapeada com scope=“request” e validate=“true”. O meu metodo validate() está assim:
public void validate(ActionErrors errors) {
ActionErrors errors = new ActionErrors();
if (nome == null || nome.equals(""))
errors.add("nome", new ActionMessage("erro.campoNome"));
// essa é a "gambiarra" que fiz para contornar o problema até encontrar uma solução
if (errors.size() > 0)
req.setAttribute("nome", nome);
return errors;
}
Alguém já passou por isso e gostaria de compartilhar a solução??
Desde já agradeço a ajuda
