Boa tarde,
Estou começando estudar o vRaptor, e estou com problema ao chamar o metodo adiciona. Segue os códigos:
@Resource
public class PessoasController {
private final PessoaDAO dao;
private final Result result;
private final Validator validator;
public PessoasController(PessoaDAO dao, Result result, Validator validator) {
this.dao = dao;
this.result = result;
this.validator = validator;
}
@Get @Path("/pessoas")
public List<Pessoa> lista() {
return new ArrayList<Pessoa>();
}
public void form() {
System.out.println("Entrou no form()");
}
@Path("/pessoas")
@Post
public void adiciona(Pessoa pessoa) {
// validator.checking(new Validations() {{
// that(!pessoa.getNome().isEmpty(), "pessoa.nome", "nome.vazio");
//// that(!pessoa.getCpfCnpj().isEmpty(), "cpfCnpj.preco", "cpf.invalido");
// }});
// validator.onErrorUsePageOf(PessoasController.class).form();
dao.adiciona(pessoa);
result.redirectTo(PessoasController.class).lista();
}
}
E no form.jsp tenho:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Manutenção de pessoas</title>
</head>
<body>
<form action="<c:url value="/pessoas/adiciona"/>">
Nome: <input type="text" name="pessoa.nome" /><br/>
<input type="submit" value="Salvar" />
</form>
</body>
</html>
Contudo ao clicar em Salvar, o formulario não chega até a camada de controle.
A URL fica da seguinte maneira: http://localhost:8080/Imoveis/pessoas/%3Cc:url%20value=?pessoa.nome=teste
e no console aparece:
12:44:41,921 DEBUG [VRaptor ] VRaptor received a new request
12:44:41,939 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor ResourceLookupInterceptor
12:44:41,939 DEBUG [DefaultResourceTranslator] trying to access /pessoas/%3Cc:url%20value=
12:44:41,939 DEBUG [VRaptor ] VRaptor ended the request
Alguem poderia me ajudar? Obrigado!