Caros,
Ainda estou me ambientando com linguagens web, mas gostaria de solicitar ajudar sobre como eu posso listar dados do cliente que estão no banco, sem refresh na página, a partir do cliente selecionado no selectOneMenu.
Sei que deve ser feito com ajax, mas peço um suporte do pessoal mais experiente.
@author vai
*/ @Entity @Table(name = “ouvinte”) @XmlRootElement @NamedQueries({ @NamedQuery(name = “Ouvinte.findAll”, query = “SELECT o FROM Ouvinte o”)})
public class Ouvinte implements Serializable {
public Ouvinte(OuvintePK ouvintePK) {
this.ouvintePK = ouvintePK;
}
public Ouvinte(int ouvId, String ouvNome) {
this.ouvintePK = new OuvintePK(ouvId, ouvNome);
}
public OuvintePK getOuvintePK() {
return ouvintePK;
}
public void setOuvintePK(OuvintePK ouvintePK) {
this.ouvintePK = ouvintePK;
}
public String getOuvCel() {
return ouvCel;
}
public void setOuvCel(String ouvCel) {
this.ouvCel = ouvCel;
}
public String getOuvBairro() {
return ouvBairro;
}
public void setOuvBairro(String ouvBairro) {
this.ouvBairro = ouvBairro;
}
public String getOuvEnd() {
return ouvEnd;
}
public void setOuvEnd(String ouvEnd) {
this.ouvEnd = ouvEnd;
}
public String getOuvDatanasc() {
return ouvDatanasc;
}
public void setOuvDatanasc(String ouvDatanasc) {
this.ouvDatanasc = ouvDatanasc;
}
public Date getOuvDataregistro() {
return ouvDataregistro;
}
public void setOuvDataregistro(Date ouvDataregistro) {
this.ouvDataregistro = ouvDataregistro;
}
@Override
public int hashCode() {
int hash = 0;
hash += (ouvintePK != null ? ouvintePK.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won’t work in the case the id fields are not set
if (!(object instanceof Ouvinte)) {
return false;
}
Ouvinte other = (Ouvinte) object;
if ((this.ouvintePK == null && other.ouvintePK != null) || (this.ouvintePK != null && !this.ouvintePK.equals(other.ouvintePK))) {
return false;
}
return true;
}
Entendi. Já estava estudando uma solução como você indicou, mas uma complicação pra mim está sendo essa passagem de parâmetro. Não estou conseguindo declarar essa passagem em um método.
Divide por partes, primeiro seu metodo na controller será algo similar a isto:
public class AtendimentoController
private Ouvinte ouvinteDetalhado;
// Aqui o atributo selected.atdOuvinte, me ajude o que seria este atributo selected? Class
public void buscarOuvinte(){
Long idOuvinte = this.selected.atdOuvinte.getId();
this.ouvinteDetalhado = this.daoDoOuvinte.buscarOuvinteById(idOuvinte);
//Apesar de achar isto redundante pois se você está passando o objeto pro selectOneMenu já tem as informaçoes carregadas.....
}
Cara me desculpa, mas vejo que você está bem perdido c/ o JSF. Ele é mais simples do que os códigos que você postou.
Sugiro você comprar um livro na Casa de Código (mega barato compra o ebook mesmo) de JSF, ele vai te ajudar a montar um sisteminha até completo e vai abordar todas estas situações que você utilizou.
Por que estou falando isto?
Por que tem varios metodos sem sentido, converter sem necessidade, escopo sendo utilizado de forma errada. Se eu tirasse pra falar cada item ficaria gigante este Post. Mas p/ sua solução solicitada a forma que te passei o metodo lá é só trocar o dao pela chamada do EJB.