bonjour,je travail avec jsf 2.0 et j'ai ajouté la balise <f:ajax> mais le meme erreur j'ai aussi modifier le code mais aucune résultat.je pense que l'erreur se trouve au niveau du requete DAO car j'ai ajouter cette methode
System.out.println("idspec = " + idSpec);
dans le get de liste<societe> de la page societeBean et il m'affiche dans le console que idspec=0 ça veut dire qu'il ne récupére pas les id .voici mon nouveau code.
page XHTML:
1 2 3 4 5 6
|
<h:selectOneMenu value="#{societeBean.idSpec}" onchange="changer()">
<f:selectItems value="#{specialiteBean.specMap}"
/>
<f:ajax execute="@form"></f:ajax>
</h:selectOneMenu> |
page Bean:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
public class SocieteBean {
private Long idSos;
private List<Societe> toutes_les_sos =new ArrayList<Societe>();
private int idSpec;
private String raisonSociale;
public String getRaisonSociale() {
return raisonSociale;
}
public int getIdSpec() {
return idSpec;
}
public List<Societe> getToutes_les_sos() {
System.out.println("idspec = " + idSpec);
return toutes_les_sos;
}
public void setToutes_les_sos(List<Societe> toutes_les_sos) {
this.toutes_les_sos = toutes_les_sos;
}
public void setIdSpec(int idSpec) {
this.idSpec = idSpec;
}
public void setRaisonSociale(String raisonSociale) {
this.raisonSociale = raisonSociale;
}
public Long getIdSos() {
return idSos;
}
public void setIdSos(Long idSos) {
this.idSos = idSos;
}
@PostConstruct
public void init(){
toutes_les_sos= new DaoSociete().findAll();
}
public void changer(){
toutes_les_sos=new DaoSociete().findByIdSpecialite(idSpec);
}
} |
page DAO:
1 2 3 4 5 6 7 8 9 10 11 12
|
public List<Societe> findByIdSpecialite(int IdSpecialite){
try {
Query query = em.createQuery("select c from Societe c where c.SPECIALITE_ID=:id");
query.setParameter("id", IdSpecialite);
return (List<Societe>) query.getResultList();
}catch(Exception e){
e.printStackTrace();
return null;
}
} |
erreur:
1 2 3
|
java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager:
Exception Description: Error compiling the query [select c from Societe c where c.SPECIALITE_ID=:id], line 1, column 32: unknown state or association field [SPECIALITE_ID] of class [net.sispay.model.Societe]. |
aidez moi svp je suis dans une situation difficile .
Partager