Seguinte, eu tenho uma classe Produto, outra ProdutoController e um formulário (jsp) para popular um objeto.
Minha classe Produto tá assim:
public class Produto {
private Long id;
private String nome;
private String descricao;
private Double preco;
private List list;
public Produto(){
this.preco = 199.;
this.list = new ArrayList<Produto>();
}
.
.
. //setters e getters dos atributos.
.
}
Para o meu ProdutoController eu tenho:
private static Produto p = new Produto();
private final Result result;
.
.
.
}
o formulário possui produto.nome, produto.descrição, produto.preco o que eu não preencho fica null depois (como eu já conferi).
O problema está quando eu altero o construtor do Produto para:
public Produto(String nome){
this.nome = nome //(tanto faz essa linha ou nao)
this.preco = 199.;
this.list = new ArrayList();
}
Daí dá o seguinte erro ( não vou colocar todo o erro, ele eh dividido em 2 entao acho que colocando um pouco de cada um dá pra alguém que entende ver o problema.)
br.com.caelum.vraptor.http.InvalidParameterException: Unable to find the correct constructor
br.com.caelum.vraptor.http.ognl.ReflectionBasedNullHandler.nullPropertyValue(ReflectionBasedNullHandler.java:98)
ognl.ASTProperty.getValueBody(ASTProperty.java:118)
ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
ognl.SimpleNode.getValue(SimpleNode.java:236)
ognl.ASTChain.setValueBody(ASTChain.java:222)
ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
ognl.SimpleNode.setValue(SimpleNode.java:279)
ognl.Ognl.setValue(Ognl.java:737)
ognl.Ognl.setValue(Ognl.java:783) …
…
…
root cause
java.lang.NoSuchMethodException: br.com.caelum.goodbuy.modelo.Produto.()
java.lang.Class.getConstructor0(Class.java:2706)
java.lang.Class.getDeclaredConstructor(Class.java:1985)
br.com.caelum.vraptor.http.ognl.GenericNullHandler.instantiate(GenericNullHandler.java:70)
br.com.caelum.vraptor.http.ognl.ReflectionBasedNullHandler.nullPropertyValue(ReflectionBasedNullHandler.java:79)
ognl.ASTProperty.getValueBody(ASTProperty.java:118)
ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
ognl.SimpleNode.getValue(SimpleNode.java:236)
ognl.ASTChain.setValueBody(ASTChain.java:222)
ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
ognl.SimpleNode.setValue(SimpleNode.java:279)
ognl.Ognl.setValue(Ognl.java:737)
ognl.Ognl.setValue(Ognl.java:783)
br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.createViaOgnl(OgnlParametersProvider.java:132)
br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.createRoot(OgnlParametersProvider.java:108)
…
…
alguém pra dar uma luz?
ficaria muito grato.
