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:
	
	| 12
 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:
	
	| 12
 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:
	
	| 12
 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:
	
	| 12
 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