Galera,
Tenho uma aplicação JSF na qual tenho dois managed beans.
Um deles herda o outro…
Assim…
public class managed1{
private String prop1;
private String prop2;
public managed1(){}
public String getProp1(){
return this.prop1;
}
public String getProp2(){
return this.prop2;
}
}
[code]
public class managed2 extends managed1{
private String prop3;
private String prop4;
public managed2(){}
public String getProp3(){
return this.prop3;
}
public String getProp4(){
return this.prop4;
}
}[/code]
blz… depois de tudo configurado e rodando eu uso as seguintes linhas…
FacesContext.getCurrentInstance().getApplication().createValueBinding("#{managed1}").setValue(FacesContext.getCurrentInstance(), meuNovoObjeto1);
FacesContext.getCurrentInstance().getApplication().createValueBinding("#{managed2}").setValue(FacesContext.getCurrentInstance(), meuNovoObjeto2);
Object objectoDaSessao = FacesContext.getCurrentInstance().getApplication().createValueBinding("#{managed2}").getValue(FacesContext.getCurrentInstance());
e adivinha?
o meu objectoDaSessao, ao invés de pegar o Managed2, pega o managed1…
Sacaram?
Não pega o objeto que herdou, mas sim o Herdado.
alguém sabe pq isso ocorre?