Validação com Struts

Estou com um problema na validação com struts pois quero quando por algum motivo não conseguir inserir os dados a action faça um findForward para uma página de erros mas não tenho idéia de como fazer isso alguém terias uma dica???

[code]

public class CRUD extends ConnectionFactory{

		public void inserir(ContatoForm contatoForm) throws SQLException{
			boolean valida;
			String sql = " INSERT INTO contatos(nome,email,endereco) VALUES (?, ?, ?) ";
			PreparedStatement ps = getConnection().prepareStatement(sql);
			ps.setString(1, contatoForm.getNome());
			ps.setString(2, contatoForm.getEmail());
			ps.setString(3, contatoForm.getEndereco());
			ps.execute();
			ps.close();
			
	}[/code]

Action

[code]
public class RegisterAction extends Action{
public ActionForward execute(ActionMapping map, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws SQLException{
CRUD crud = new CRUD();
ContatoForm contatoForm = ((ContatoForm) form);
crud.inserir(contatoForm);
return map.findForward(“success”);

}

}[/code]

e…?

ah, faz um favor tb, coloca seus codigos usando o BB CODE :wink:

1º: por favor, coloque os códigos entre [ code ]. Exemplo:

System.out.println("Um código java");

2º: Qual é a dúvida?

[quote=felipealbuquerque]1º: por favor, coloque os códigos entre [ code ]. Exemplo:

System.out.println("Um código java");

2º: Qual é a dúvida?[/quote]

Agora precisamos exercer o nosso poder de olhar um fragmento de codigo e enteder o erro q acontece e o cara esta queendo fazer…rs…
:stuck_out_tongue:

Cara, pelo que eu entendi ele quer que, quando alguma exception aconteça no crud.inserir(), que ele retorne para uma página de falha…
Simples!
Altere seu código para isso aqui…

[code]public class RegisterAction extends Action{
public ActionForward execute(ActionMapping map, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws SQLException{
CRUD crud = new CRUD();
ContatoForm contatoForm = ((ContatoForm) form);
try {
crud.inserir(contatoForm);
map.findForward(“success”);
} catch(Exception e) {
//Tratar o erro
map.findForward(“failure”);
}

}   

} [/code]

Vlw cara era isso mesmo. :smiley:

Flecha03 ,

sempre que vc invocar algum metodo que lance uma exceçao vc DEVE[color=red] [/color](nao tem nada que coloque uma palvara piscando nao? rs) tratá-la…

[]'s

pardal_nb

Vlw tb é q estou iniciando blz ai inda dou umas rateadas mas acho q é normal.

[quote=Flecha03]pardal_nb

Vlw tb é q estou iniciando blz ai inda dou umas rateadas mas acho q é normal.[/quote]

Super normal cara…

estmaos todos aki para ajudar e ser ajudado… =)

vc verá algo do tipo em algumas literaturas: “Trate a exceção, ou senão sofra as consequencias…”

abs e bom estudo

Existe tambem a maneira mais classica com o Struts, que é tratar a exceção com o ExceptionHandler, configurando as possiveis exceções das actions e direcionando para o tratamento correto.
Com isso, vc tem um maior poder de tratamento, caso vc configure exceções especialidas para cada serviço da sua camada de modelo.

[quote=rodrigoallemand]Existe tambem a maneira mais classica com o Struts, que é tratar a exceção com o ExceptionHandler, configurando as possiveis exceções das actions e direcionando para o tratamento correto.
Com isso, vc tem um maior poder de tratamento, caso vc configure exceções especialidas para cada serviço da sua camada de modelo.[/quote]

sem ter q tratar a execao na chamada do metodo?