Integer mes donnes dans un SelectOneListBox avec IceFaces

Résolu
khachkhouch Messages postés 11 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 11 avril 2013 - 15 janv. 2012 à 02:22
khachkhouch Messages postés 11 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 11 avril 2013 - 7 févr. 2012 à 23:28
Bonsoir,
Je suis debutant j2ee j'essaye de fair eun projet Icefaces.
j'ai essayé de mettre toute les nom de module de table Module dans un items ... Pour cela j'ai utiliser le :


<f:selectItems value="#{creat.nomMod}"/>



Mon Managed-bean est :

<managed-bean>
<managed-bean-name>creat</managed-bean-name>
<managed-bean-class>controle.Create</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>

classe Create est:
public class Create {
@EJB //(name="GestionModule/Remote")
//GestionModule gestionMod;
GestionModuleRemote gesModR;
@EJB
GestionMatiereRemote gesMatR;

private Module module;
private Matiere matiere;
private String text_nomMod;
private String text_nomMat;
//private boolean upMat;

public Module getModule() {
return module;
}

public void setModule(Module module) {
this.module = module;
}

public Matiere getMatiere() {
return matiere;
}

public void setMatiere(Matiere matiere) {
this.matiere = matiere;
}

public String getText_nomMod() {
return text_nomMod;
}

public void setText_nomMod(String textNomMod) {
text_nomMod = textNomMod;
}

public String getText_nomMat() {
return text_nomMat;
}

/*public void setText_nomMat(String textNomMat) {
text_nomMat = textNomMat;
}
*/

/**/

public void CreatMod(ActionEvent e) {
// module.setNomModule(text_nomMod);
module= new Module(text_nomMod);
//idM = module.getIdModule();
gesModR.create(module);
}
public void DeletMod(ActionEvent e) {
//module= new Module(text_nomMod).;
//module= GMR.readById(22);
//	boolean del=gesModR.delete(module);
}

public void CreatMat(ActionEvent e) {
matiere= new Matiere(text_nomMat);
int idMat=matiere.getIdMatriele();
gesMatR.create(matiere);
Matiere mat=gesMatR.readById(idMat);
mat.setModule(module);
//	upMat=gesMatR.update(mat);
}
}

Mon Entity est:
public class Module implements Serializable {


private static final long serialVersionUID = 1L;
private int idModule;
private String nomModule;
private Collection<Matiere> matieres;
//private List nomM;
public Module() {
super();
}


public Module(String nomModule) {
super();
this.nomModule = nomModule;
}


@Id
@GeneratedValue
public int getIdModule() {
return idModule;
}

public void setIdModule(int idModule) {
this.idModule = idModule;
}

public String getNomModule() {
return nomModule;
}

public void setNomModule(String nomModule) {
this.nomModule = nomModule;
}

@OneToMany(mappedBy="module")
public Collection<Matiere> getMatieres() {
return matieres;
}

public void setMatieres(Collection<Matiere> matieres) {
this.matieres = matieres;
}


/**
 * @param nomMatList the nomMatList to set
 */

/**
 * @return the nomM
 */
/*	public List getNomM() {
return nomM;
}


/**
 * @param nomM the nomM to set
 */
/*	public void setNomM(List nomM) {
this.nomM = nomM;
}*/


@Override
public String toString() {
return "Module [idModule=" + idModule + ", nomModule=" + nomModule
+ "]";
}




}

merci de votre collaboration

9 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
16 janv. 2012 à 08:09
<f:selectItems permet de créer une selection à partir d'une liste or nomMod(ule) n'est pas une liste, c'est un String.

Voilà un petit exemple d'utilisation.

  <f:selectItem itemLabel="Label1" itemValue="1" />
  <f:selectItem itemLabel="Label2" itemValue="2" />
  <f:selectItem itemLabel="Label3" itemValue="3" />
  <f:selectItem itemLabel="Label4" itemValue="4" />
  <f:selectItems value="#{backingBean.selectItems}" />


Autre souci nomMod n'existe nulle part, il est donc normal que tu n'arrives pas à l'afficher. Si c'est nomModule que tu veux afficher :

<f:selectItem itemLabel="#{creat.module.nomModule}" itemValue="1" />


En faisant bien les getters sur module et nomModule

Si tu veux afficher la liste nomMod qui pour l'instant est en commentaire :
<f:selectItems value="#{creat.module.nomMod}" />
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
17 janv. 2012 à 07:45
Et bien oui, ce que tu observes est normal.

Je ne sais pas ce que tu veux faire. Afficher une liste, si c'est le cas, quelle liste ? Et il faut utiliser <f:selectItems
dans ce cas. Mais il faut que value pointe sur une liste...
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
20 janv. 2012 à 07:55
Alors, ou en es tu ? Ça marche ?
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
15 janv. 2012 à 12:08
Bonjour,

Quelle est ta question, ton problème ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
khachkhouch Messages postés 11 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 11 avril 2013
15 janv. 2012 à 18:39
Mon question est comment mettre toute les nom de Module dans un SelectOneListBox ??
et Merci bien ;)
0
khachkhouch Messages postés 11 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 11 avril 2013
17 janv. 2012 à 01:13
voici mon Listbox :

    <f:selectItem itemLabel="#{creat.module.nomModule}" itemValue="1"/>



bon j'ai modifier le getter de module mais aucune resultat !!!

public Module getModule() 
        {
module=gesModR.readAll();
return module;
}


le "readAll()" return une list<Module> .. et j'ai essai cette getter mais aussi une erreur !!

public Module getModule()
        {
for (int i = 0; i < gesModR.readAll().size(); i++) {
module=gesModR.readById(i);
}
return module;
}



si vous avez une solution ??? et merci bien encore pour votre collaboration
0
khachkhouch Messages postés 11 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 11 avril 2013
17 janv. 2012 à 02:34
j'ai essayé cette code mais a retourner le dernier nomModule dans la base !!!

 <f:selectItem itemLabel="#{creat.module.nomModule}"/>


@EJB 
GestionModuleRemote gesModR;
private Module module;

public Module getModule() {
for (int i = 0; i < gesModR.readAll().size(); i++) {
   module=gesModR.readById(i);
}	
return module;
}

public void setModule(Module module) {
this.module = module;
}
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
26 janv. 2012 à 07:54
Ok, pas de réponse, j'accepte donc les réponses qui me semble les plus utiles à ta place.
0
khachkhouch Messages postés 11 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 11 avril 2013
7 févr. 2012 à 23:28
Excusez-moi pour mon retard, car je suis en train de passer mes examens, je trouvais plus de solutions! Voilà ma dernière solution, mais encore aucun résultat.




  <f:selectItems value="#{creat.lstNameMod}"/>



        @EJB 
GestionModuleRemote gesModR;

private Module module;
private List<String> lstNameMod;

public List<String> getLstNameMod() {
return lstNameMod;
}

public void setLstNameMod(List<String> lstNameMod) {
this.lstNameMod = gesModR.listByName();
}


public class GestionModule implements GestionModuleRemote{
//...
@Override
public List<String> listByName() {
// TODO Auto-generated method stub
return em.createNamedQuery("Module.listByName").getResultList();
}

//...
}



// class Module :

@NamedQueries({
@NamedQuery(name="Module.listAll",query="select m from Module m"),
@NamedQuery(name="Module.listByName",query="select m.nomModule from Module m")})
public class Module implements Serializable {
 //..


et encore merci infiniment
0