Validação com Struts

10 respostas
F
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???
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();
				
		}
Action
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");
		
	}
}

10 Respostas

P

e…?

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

felipealbuquerque

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

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

2º: Qual é a dúvida?

P

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

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

2º: Qual é a dúvida?

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:

rodrigoallemand

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...

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");
        }  
           
    }   
}
F

Vlw cara era isso mesmo. :smiley:

P

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

F

pardal_nb

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

P

Flecha03:
pardal_nb

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

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

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.

P

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.

sem ter q tratar a execao na chamada do metodo?

Criado 30 de novembro de 2007
Ultima resposta 30 de nov. de 2007
Respostas 10
Participantes 4