duvidaActionErrors

2 respostas
TDS

Pessoal, tenho uma Action que é responsável por carregar uma lista de clientes de acordo com o que o usuário digitar na tela de pesquisa. Bom se o usuário digita um nome válido funciona redondinho, mas caso contrário, não.

Dai eu criei o ActionErrors para tratar caso o usuário digite um nome inválido, o que estou fazendo de errado???Pois forcei para verificar se ele entra na condição if quando encontra a lista vazia, e entra, mas não retorna na minha tela de pesquisa que não encontou nada. Veja se podem me ajudar…Estou utilizando jsp-struts

***************Action

try{

…

if (lista.size() == 0) {

log.info(Lista esta vazia!!!);

ActionErrors errors = new ActionErrors();

errors.add(errorNome”, new ActionError(error.cliente.mismatch));

//Save errors at request scope

saveErrors(request, errors);

}else{

session.setAttribute(lista”, lista);

}

catch{

…

}

***************JSP
<html:errors property=“errorNome”/>

***************Application Resources
error.cliente.mismatch = nenhum cliente encontrado

Se precisarem de mais alguma informação me avisem que coloco. Será que preciso alterar alguma coisa no application??? ou A minha Action esta errada??? Por favor deêm uma luz…
Obrigado.

2 Respostas

Jair_Rillo_Junior

Se surgir o erro, além de você criar o objeto ActionErrors, você deve dar um forward para sua página JSP… por exemplo

if (........) { //Supondo que entrou aqui e deu erro
  ActionErrors actionErrors = new ActionErrors();
  actionErrors.add("field",new ActionError("bla.bla.bla.bla");
  saveErrors(request,actionErrors);
  return mapping.findForward("fail"); //aqui você faz o forward
}

Dentro do seu struts-config.xml cria um forward chamado “fail” para essa Action e redireciona para seu site .JSP

TDS

Valeu pela dica…

Vou fazer as alterações e testar!!! Com certeza deve ser isto mesmo.

Obrigado.

Criado 30 de novembro de 2004
Ultima resposta 30 de nov. de 2004
Respostas 2
Participantes 2