Esta acção vai ser executado atraves do submit de um form de login, caso o metodo validate do form passar sem erros a pagina é redireccionada para news.jsp… a minha questao é: e se o metodo validação retornar erros? como posso configurar um redirect em caso de erro?
o mais correto é sobrescrever o método validate da FormBean
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { // o super.validate chama validações do validation.xml ActionErrors errors = super.validate(mapping, request); // se nao cair no validation.xml vai executar aqui if(deu erro) { errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.name", "Deu erro")); } // returna os erros para a pagina de "input" cadastrada no struts-config.xml return errors; }
Bruno_Cardoso
thiagorani, o seu exemplo não é bem o que eu queria, porque assim estaria a fazer a validação na Action, e não é isso que quero, eu faço a validação no metodo validate do FormBean, e caso dê erro, ele nem sequer chega a ir à action…
quanto ao exemplo do ricardolecheta, acho que também não é bem isso porque caso dê erro ele vai ficar na página de “input” do form… e eu queria era mando-lo para uma terceira página…
thiagorani
Voce quer fazer um forward no validate do formBean?
Será que é correto? O validate válida os dados do formulário e retorna erro para o mesmo, da onde partiu a ação!
Se tivesse o response no validate, além do request, daria pra tentar fazer: