Vraptor3 Problema no onErrorUsePageOf

2 respostas
L

Tenho o metodo que carrega o form para um novo cadastro de produto

public void novo() {
		resultado.include("categoriaLista", daoCategoria.lista());
		resultado.include("fornecedorLista", daoFornecedor.lista());
	}

Tenho o metodo que adiciona o produto.

public void adiciona(Produto produto){
		if(produto.getNome().equals("")) {
			validador.add(new ValidationMessage("Nome não pode ser vazio", "Erro"));
		}
		validador.onErrorUsePageOf(ProdutoController.class).novo();
		
		daoProduto.gravaProduto(produto);
		resultado.include("mensagem","Produto adicionado com sucesso");
		resultado.redirectTo(ProdutoController.class).index();
	}

Quando carrego a pagina de cadastro, os combos categoria e fornecedores são preenchidos normalmente, ao enviar o formulário, se ele encontrar um erro de validação por exemplo e usar o onErrorUsePageOf e chamar novamente o método novo(), as listas categoria e fornecedor ficam vaziaa na página, como se o metodo novo() não tivesse sido realmente processado novamente.

Gostaria de saber como posso resolver este tipo de problema, obrigado.

2 Respostas

Lucas_Cavalcanti

o onErrorUsePageOf (e o result.of) não executam a lógica, só vão direto para o jsp…

troque por onErrorForwardTo que vai funcionar

[]'s

L

Valew muito obrigado… agora consegui perceber que lendo o nome da pra entender que não reliza a lógico só pega a pagina “UsePageOf” hehehe vivendo e aprendendo!

Obrigado!

Criado 17 de dezembro de 2010
Ultima resposta 17 de dez. de 2010
Respostas 2
Participantes 2