IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Alimenter Data Table avec une liste


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 84
    Par défaut Alimenter Data Table avec une liste
    Bonjour à toutes et à tous.

    Tout est dans le titre ou presque.
    En faite j'ai une liste contenant des objets de type personne.

    sur ces objets je peux appeler le nom, le prénom.

    Je souhaite afficher une Data Table avec dans une colonne le nom et dans une autre le prénom.

    le problème est que je ne vois pas du tout comment m'y prendre.

    j'ai essayé de faire la chose suivante mais cela ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <ice:dataTable border="1" value="rechercheBean.listeResult" var="result">
        <ice:column id="column1">
            <f:facet name="header">
    	    <ice:outputText value="Nom"></ice:outputText>
    	</f:facet>
            <ice:outputText value="#{result.nom}"></ice:outputText>
        </ice:column>
        <ice:column id="column2">
            <f:facet name="header">
    	    <ice:outputText value="Prénom"></ice:outputText>
    	</f:facet>
            <ice:outputText value="#{result.prenom}"></ice:outputText>
        </ice:column>
    </ice:dataTable>
    rechercheBean.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    public class RechercheBean {
     
            private List<Personne> maListe;
     
            maListe = new ArrayList<Personne>();
            this.maListe.add(new Personne("Barry","Catherine"));
            this.maListe.add(new Personne("Bosch","Jérome"));
            this.maListe.add(new Personne("Boutilier","Xavier"));
            this.maListe.add(new Personne("Lazure","Dominique"));
            this.maListe.add(new Personne("Leclet","Dominique"));
            this.maListe.add(new Personne("Pau","Audrey"));
            this.maListe.add(new Personne("Irastorza","Isabel"));
     
            public List<Personne> getListeResult() {
    		return listeResult;
    	}
     
    	public void setListeResult(List<Personne> listeResult) {
    		this.listeResult = listeResult;
    	}
    }

    Personne.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    package myPackage;
     
    public class Personne {
     
    	private String nom, prenom;
     
    	public Personne () {
     
    	}
     
    	public Personne (String nom, String prenom) {
    		this.nom = nom;
    		this.prenom = prenom;
    	}
     
    	public String getNom() {
    		return nom;
    	}
     
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
     
    	public String getPrenom() {
    		return prenom;
    	}
     
    	public void setPrenom(String prenom) {
    		this.prenom = prenom;
    	}


    Si quelqu'un passe par là et pense pouvoir m'aider.
    Merci d'avance à toutes et à tous.

    Amicalement Boobs60

  2. #2
    Membre expérimenté Avatar de Shinzul
    Homme Profil pro
    Lecteur assidu de code source
    Inscrit en
    Janvier 2008
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lecteur assidu de code source
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 174
    Par défaut
    Euh le fait que ta value dans ta datatable soit un String et pas une EL c'est normal ou c'est un copier/raté ?

    Parce qu'autrement le problème viens de la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <ice:dataTable border="1" value="#{rechercheBean.listeResult}" var="result">
        ...
    </ice:dataTable>

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 84
    Par défaut
    Salut,

    ba écoute en faite je suis allé sur un site qui explique comment on fait et lui le fait comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <h:form>
      <h:dataTable value="#{testBean.myDataList}"  var="item">
        <h:column>
          <f:facet name="header">
          <h:outputText value="Valeur 1" />
          </f:facet>
          <h:inputText value="#{item.value1}" />
        </h:column>
        <h:column>
          <f:facet name="header">
          <h:outputText value="Valeur 2" />
          </f:facet>
          <h:inputText value="#{item.value2}" />
        </h:column>
      </h:dataTable>
      <h:commandButton actionListener="#{testBean.process}" value="Go !"/>
    </h:form>

    Backing bean:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    public class TestBean {
      private List<Data> myDataList = new ArrayList<Data>();
      public TestBean() {
        myDataList.add(new Data("id 1", "val 1"));
        myDataList.add(new Data("id 2", "val 2"));
      }
      public List<Data> getMyDataList() {
        return myDataList;
      }
      public void setMyDataList(List<Data> myDataList) {
        this.myDataList = myDataList;
      }
      public void process(ActionEvent event) {
        for (Data data : myDataList) {
          System.out.println("value1=" + data.getValue1() + ", value2=" + data.getValue2());
        }
      }
    }

    Objet dans la liste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    public class Data {
      private String value1;
      private String value2;
      public Data(String value1, String value2) {
        this.value1 = value1;
        this.value2 = value2;
      }
      public String getValue1() {
        return value1;
      }
      public void setValue1(String value1) {
        this.value1 = value1;
      }
      public String getValue2() {
        return value2;
      }
      public void setValue2(String value2) {
        this.value2 = value2;
      }
    }
    Donc on voit bien que la value de la data table est entre double cote.

    Donc je ne sais pas comment faire

    En tout cas merci de t’intéresser à mon problème.

    Amicalement Boobs60

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Dans ton BeanRecherche, il y a un souci entre "listeResult" et "maListe".
    Quel est le vrai nom ?

    Pense à avoir le getter du même nom que le champ: FAQ.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 84
    Par défaut
    Oui désole mais je n'ai pas mis le code complet. Mais si tu veux j'ai donc :

    maListe est une liste que j'instancie avec 20 personnes comme présent dans mon code puis
    listeResult est quand à elle une liste que j'instancie en fonction d'une recherche.

    une personne va entrer un nom et/ou un prénom et en fonction de cela je vais faire une recherche dans maListe effectuer un filtre et mettre dans listeResult les personnes qui correspondent à la recherche.

    C'est donc listeResult que je cherche à afficher dans ma data table voici mon code complet :

    page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <ice:dataTable border="1" value="rechercheBean.listeResult" var="result">
        <ice:column id="column1">
            <f:facet name="header">
    	    <ice:outputText value="Nom"></ice:outputText>
    	</f:facet>
            <ice:outputText value="#{result.nom}"></ice:outputText>
        </ice:column>
        <ice:column id="column2">
            <f:facet name="header">
    	    <ice:outputText value="Prénom"></ice:outputText>
    	</f:facet>
            <ice:outputText value="#{result.prenom}"></ice:outputText>
        </ice:column>
    </ice:dataTable>

    rechercheBean.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
     
    public class RechercheBean implements Serializable {
     
    	private static final long serialVersionUID = 1L;
    	private List<Personne> maListe, listeResult;
    	private String nom, prenom;
     
    	public RechercheBean()
    	{
    		Personne.setCpt(0);
    		maListe = new ArrayList<Personne>();
    		this.maListe.add(new Personne("Barry","Catherine"));
    		this.maListe.add(new Personne("Bosch","Jérome"));
    		this.maListe.add(new Personne("Boutilier","Xavier"));
    		this.maListe.add(new Personne("Lazure","Dominique"));
    		this.maListe.add(new Personne("Leclet","Dominique"));
    		this.maListe.add(new Personne("Pau","Audrey"));
    		this.maListe.add(new Personne("Irastorza","Isabel"));
    		this.maListe.add(new Personne("Barry","Catherine"));
    		this.maListe.add(new Personne("Perin","Mick"));
    		this.maListe.add(new Personne("Pécant","Nicolas"));
    		this.maListe.add(new Personne("Meunier","Véronique"));
    		this.maListe.add(new Personne("Furst","frédéric"));
    		this.maListe.add(new Personne("Fortet","Stéphane"));
    		this.maListe.add(new Personne("Mioupau","Frédéric"));
    		this.maListe.add(new Personne("Djouambi","Chemsédine"));
    		this.maListe.add(new Personne("Bernard","Damien"));
    		this.maListe.add(new Personne("Joirons","Céline"));
    		this.maListe.add(new Personne("Lapujade","Anne"));
    		this.maListe.add(new Personne("Cormier","Christian"));
    		this.maListe.add(new Personne("Ducay","Stéphane"));
    	}
     
    	public String search() {
    		listeResult = new ArrayList<Personne>();
    		Iterator<Personne> ite = maListe.iterator();
    		Personne p = new Personne();
    		int pNom;
    		int pPrenom;
     
    		while(ite.hasNext())
    		{
    			p = ite.next();
    			pNom = p.getNom().indexOf(this.nom);
    			pPrenom = p.getPrenom().indexOf(this.prenom);
     
    			if(this.nom == "" && this.prenom == "")
    			{
    				listeResult.add(p);
    				System.out.println("Les deux sont vide !!!");
    			}
    			else
    			{
    				if(this.nom != "" && this.prenom == "" && pNom >= 0)
    				{
    					listeResult.add(p);
    					System.out.println("Le prénom est vide !!!");
    					System.out.println(p.getNom());
    				}
    				else
    				{
    					if(this.nom == "" && this.prenom != "" && pPrenom >=0)
    					{
    						listeResult.add(p);
    						System.out.println("Le nom est vide !!!");
    						System.out.println(p.getPrenom());
    					}
    					else
    					{
    						if(this.nom != "" && this.prenom != "" && (pNom >=0 || pPrenom >= 0))
    						{
    							listeResult.add(p);
    							System.out.println("Le nom et le prénom sont renseigné !!!");
    							System.out.println(p.getPrenom() + " " + p.getNom());
    						}
    					}
    				}
    			}
    		}
    		return ("Page2");
    	}
     
    	public String Back()
    	{
    		return ("Page1");
    	}
     
    	/*******************************************************************************************
             ******************************  Accesseur de la class  ************************************
             ******************************************************************************************/
     
    	public String getNom() {
    		return nom;
    	}
     
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
     
    	public String getPrenom() {
    		return prenom;
    	}
     
    	public void setPrenom(String prenom) {
    		this.prenom = prenom;
    	}
     
    	public List<Personne> getListeResult() {
    		return listeResult;
    	}
     
    	public void setListeResult(List<Personne> listeResult) {
    		this.listeResult = listeResult;
    	}
    }

    Personne.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    public class Personne {
     
    	static int cpt;
    	int id;
    	private String nom, prenom;
     
    	public Personne () {
     
    	}
     
    	public Personne (String nom, String prenom) {
    		this.id = cpt++;
    		this.nom = nom;
    		this.prenom = prenom;
    	}
     
    	public static int getCpt() {
    		return cpt;
    	}
     
    	public static void setCpt(int cpt) {
    		Personne.cpt = cpt;
    	}
     
    	public String getNom() {
    		return nom;
    	}
     
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
     
    	public String getPrenom() {
    		return prenom;
    	}
     
    	public void setPrenom(String prenom) {
    		this.prenom = prenom;
    	}
    }

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Par défaut scope
    Salut ;

    je crois qu'en changeant le scope tu peux résoudre le problème. Essaye le viewScope

    et comme dis notre ami Shinzul :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <ice:dataTable border="1" value="#{rechercheBean.listeResult}" var="result">
        ...
    </ice:dataTable>
    Amicalement

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 84
    Par défaut
    Merci de toutes vos réponse.

    J'ai trouvé une solution mais n'ai pas forcément comprit pourquoi.

    En faite j'ai deux pages sur la première un FORM avec deux champs et un bouton. Quand on clic sur le bouton j'effectue mon traitement et je redirige vers ma page 2.

    Hors mon traitement ce faisait bien mais pas de redirection. Sur ma deuxième page, j'ai juste une datatable que je renseigne à l'aide d'une liste. Cette datatable était contenu également dans un FORM.

    J'ai donc enlevé le FORM et la tout a fonctionné.

    Traitement opérationnel, redirection OK et ma datable contient bien les infos que je désire.

    Voilà donc si quelque peut m'apporter une explication sur le fait que ça ne fonctionne pas dans le FORM.

    Amicalement Boobs60

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 42
    Par défaut
    Citation Envoyé par boobs60 Voir le message
    Oui désole mais je n'ai pas mis le code complet. Mais si tu veux j'ai donc :

    maListe est une liste que j'instancie avec 20 personnes comme présent dans mon code puis
    listeResult est quand à elle une liste que j'instancie en fonction d'une recherche.

    une personne va entrer un nom et/ou un prénom et en fonction de cela je vais faire une recherche dans maListe effectuer un filtre et mettre dans listeResult les personnes qui correspondent à la recherche.

    C'est donc listeResult que je cherche à afficher dans ma data table voici mon code complet :

    page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <ice:dataTable border="1" value="rechercheBean.listeResult" var="result">
        <ice:column id="column1">
            <f:facet name="header">
    	    <ice:outputText value="Nom"></ice:outputText>
    	</f:facet>
            <ice:outputText value="#{result.nom}"></ice:outputText>
        </ice:column>
        <ice:column id="column2">
            <f:facet name="header">
    	    <ice:outputText value="Prénom"></ice:outputText>
    	</f:facet>
            <ice:outputText value="#{result.prenom}"></ice:outputText>
        </ice:column>
    </ice:dataTable>

    rechercheBean.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
     
    public class RechercheBean implements Serializable {
     
    	private static final long serialVersionUID = 1L;
    	private List<Personne> maListe, listeResult;
    	private String nom, prenom;
     
    	public RechercheBean()
    	{
    		Personne.setCpt(0);
    		maListe = new ArrayList<Personne>();
    		this.maListe.add(new Personne("Barry","Catherine"));
    		this.maListe.add(new Personne("Bosch","Jérome"));
    		this.maListe.add(new Personne("Boutilier","Xavier"));
    		this.maListe.add(new Personne("Lazure","Dominique"));
    		this.maListe.add(new Personne("Leclet","Dominique"));
    		this.maListe.add(new Personne("Pau","Audrey"));
    		this.maListe.add(new Personne("Irastorza","Isabel"));
    		this.maListe.add(new Personne("Barry","Catherine"));
    		this.maListe.add(new Personne("Perin","Mick"));
    		this.maListe.add(new Personne("Pécant","Nicolas"));
    		this.maListe.add(new Personne("Meunier","Véronique"));
    		this.maListe.add(new Personne("Furst","frédéric"));
    		this.maListe.add(new Personne("Fortet","Stéphane"));
    		this.maListe.add(new Personne("Mioupau","Frédéric"));
    		this.maListe.add(new Personne("Djouambi","Chemsédine"));
    		this.maListe.add(new Personne("Bernard","Damien"));
    		this.maListe.add(new Personne("Joirons","Céline"));
    		this.maListe.add(new Personne("Lapujade","Anne"));
    		this.maListe.add(new Personne("Cormier","Christian"));
    		this.maListe.add(new Personne("Ducay","Stéphane"));
    	}
     
    	public String search() {
    		listeResult = new ArrayList<Personne>();
    		Iterator<Personne> ite = maListe.iterator();
    		Personne p = new Personne();
    		int pNom;
    		int pPrenom;
     
    		while(ite.hasNext())
    		{
    			p = ite.next();
    			pNom = p.getNom().indexOf(this.nom);
    			pPrenom = p.getPrenom().indexOf(this.prenom);
     
    			if(this.nom == "" && this.prenom == "")
    			{
    				listeResult.add(p);
    				System.out.println("Les deux sont vide !!!");
    			}
    			else
    			{
    				if(this.nom != "" && this.prenom == "" && pNom >= 0)
    				{
    					listeResult.add(p);
    					System.out.println("Le prénom est vide !!!");
    					System.out.println(p.getNom());
    				}
    				else
    				{
    					if(this.nom == "" && this.prenom != "" && pPrenom >=0)
    					{
    						listeResult.add(p);
    						System.out.println("Le nom est vide !!!");
    						System.out.println(p.getPrenom());
    					}
    					else
    					{
    						if(this.nom != "" && this.prenom != "" && (pNom >=0 || pPrenom >= 0))
    						{
    							listeResult.add(p);
    							System.out.println("Le nom et le prénom sont renseigné !!!");
    							System.out.println(p.getPrenom() + " " + p.getNom());
    						}
    					}
    				}
    			}
    		}
    		return ("Page2");
    	}
     
    	public String Back()
    	{
    		return ("Page1");
    	}
     
    	/*******************************************************************************************
             ******************************  Accesseur de la class  ************************************
             ******************************************************************************************/
     
    	public String getNom() {
    		return nom;
    	}
     
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
     
    	public String getPrenom() {
    		return prenom;
    	}
     
    	public void setPrenom(String prenom) {
    		this.prenom = prenom;
    	}
     
    	public List<Personne> getListeResult() {
    		return listeResult;
    	}
     
    	public void setListeResult(List<Personne> listeResult) {
    		this.listeResult = listeResult;
    	}
    }

    Personne.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    public class Personne {
     
    	static int cpt;
    	int id;
    	private String nom, prenom;
     
    	public Personne () {
     
    	}
     
    	public Personne (String nom, String prenom) {
    		this.id = cpt++;
    		this.nom = nom;
    		this.prenom = prenom;
    	}
     
    	public static int getCpt() {
    		return cpt;
    	}
     
    	public static void setCpt(int cpt) {
    		Personne.cpt = cpt;
    	}
     
    	public String getNom() {
    		return nom;
    	}
     
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
     
    	public String getPrenom() {
    		return prenom;
    	}
     
    	public void setPrenom(String prenom) {
    		this.prenom = prenom;
    	}
    }
    bonjour
    je cherche à faire la même sauf que les donnés sont stocker en base
    Si j'utilise une requete la Datatable retourne vide
    Pour Infos j'utilise JPA et JPQL

  9. #9
    Membre confirmé Avatar de azassma
    Femme Profil pro
    Ph.D - Computer Vision
    Inscrit en
    Avril 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ph.D - Computer Vision
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 159
    Par défaut
    Je vais vous donner un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <p:dataTable value="#{AffaireMBean.affaireByReference}" var="item"
                                     style="width: 400px;float: left;margin-bottom: 10px;margin-top: 10px;">
     
                            <p:column>
                                <f:facet name="header">
                                    Série
                                </f:facet>
                                <h:outputText value="#{item.serie}"/>
                            </p:column>
                            <p:column>
                                <f:facet name="header">
                                    Clé
                                </f:facet>
                                <h:outputText value="#{item.cle}"/>
                            </p:column>
                        </p:dataTable>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     @EJB
        private AffaireSessionBean emGe;
     
     
     public List<Affaire> getAffaireByReference() {
            return emGe.findByReference(this.affaire.getSerie(), this.affaire.getCle());
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      public List<Affaire> findByReference(String serie, String cle) {
            Query query = em.createQuery("SELECT a "
                    + "FROM Affaire a "
                    + "WHERE a.serie = :serie "
                    + "AND a.cle = :cle");
     
            query.setParameter("serie", serie);
            query.setParameter("cle", cle);
     
            return query.getResultList();
        }

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 42
    Par défaut Search
    Merci Pour Votre Réponse
    Mais c'est pas ce que je cherche

    Je cherche pour l'exemple de boobs60 avec beaucoup plus de critère de Recherche et les donnés sont stocker en Base

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 42
    Par défaut
    Mon Datatable Renvoie Vide

    Le ManageBean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
     
    @ManagedBean
    public class RechercheBean {
     
    	private static final long serialVersionUID = 1L;
     
    	private final static String LIST_PERSO = "ICEfacesPage1.xhtml";
    	private final static String EDIT_PERS = "editPersonne.xhtml";
     
     
    	@EJB
    	private PersonneServiceBean personneService;
     
     
    	private List<Personne> maListe=new ArrayList<Personne>();
    	private List<Personne> listeResult;
    	private String nom, prenom;
    	private Personne currentPersonne=new Personne();
     
    	private int id;
     
    	public RechercheBean()
    	{
    	}
     
    	public String search() {
    		listeResult = new ArrayList<Personne>();
    		Iterator<Personne> ite = maListe.iterator();
    		int pNom;
    		int pPrenom;
     
    		while(ite.hasNext())
    		{
    			currentPersonne = ite.next();
    			pNom = currentPersonne.getNom().indexOf(this.nom);
    			pPrenom = currentPersonne.getPrenom().indexOf(this.prenom);
     
    			if(this.nom == "" && this.prenom == "")
    			{
    				listeResult.add(currentPersonne);
    				System.out.println("Les deux sont vide !!!");
    			}
    			else
    			{
    				if(this.nom != "" && this.prenom == "" && pNom >= 0)
    				{
    					listeResult.add(currentPersonne);
    					System.out.println("Le prénom est vide !!!");
    					System.out.println(currentPersonne.getNom());
    				}
    				else
    				{
    					if(this.nom == "" && this.prenom != "" && pPrenom >=0)
    					{
    						listeResult.add(currentPersonne);
    						System.out.println("Le nom est vide !!!");
    						System.out.println(currentPersonne.getPrenom());
    					}
    					else
    					{
    						if(this.nom != "" && this.prenom != "" && (pNom >=0 || pPrenom >= 0))
    						{
    							listeResult.add(currentPersonne);
    							System.out.println("Le nom et le prénom sont renseigné !!!");
    							System.out.println(currentPersonne.getPrenom() + " " + currentPersonne.getNom());
    						}
    					}
    				}
    			}
    		}
    		return ("ICEfacesPage1");
    	}
     
     
     
    	public String ajouter() {
    		currentPersonne =personneService.create(currentPersonne);
    		return LIST_PERSO;
    	}
     
     
     
    	/*******************************************************************************************
             ******************************  Accesseur de la class  ************************************
             ******************************************************************************************/
     
    	public String getNom() {
    		return nom;
    	}
     
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
     
    	public String getPrenom() {
    		return prenom;
    	}
     
    	public void setPrenom(String prenom) {
    		this.prenom = prenom;
    	}
     
    	public List<Personne> getListeResult() {
    		return listeResult;
    	}
     
    	public void setListeResult(List<Personne> listeResult) {
    		this.listeResult = listeResult;
    	}
     
    	public Personne getCurrentPersonne() {
    		return currentPersonne;
    	}
     
    	public void setCurrentPersonne(Personne currentPersonne) {
    		this.currentPersonne = currentPersonne;
    	}
     
    	public int getId() {
    		return id;
    	}
     
    	public void setId(int id) {
    		this.id = id;
    	}
     
    	public List<Personne> getMaListe() {
     
    		 return personneService.findPersonne(this.currentPersonne.getNom(), this.currentPersonne.getPrenom());
    	}
     
    	public void setMaListe(List<Personne> maListe) {
    		this.maListe = maListe;
    	}
     
     
     
    }

    Service
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    @Stateless
    @TransactionAttribute(value = TransactionAttributeType.REQUIRED)
    public class PersonneServiceBean {
     
    	@PersistenceContext
    	private EntityManager entityManager;
     
     
    	public Personne create(Personne personne ) {
     
         entityManager.persist(personne);
     
    		return personne;
     
    	}
     
     
     
    	public List<Personne> findPersonne(String nom, String prenom) {
            Query query = entityManager.createQuery("SELECT p "
                    + "FROM Personne p "
                    + "WHERE p.nom = :nom "
                    + "AND p.prenom = :prenom");
     
            query.setParameter("nom", nom);
            query.setParameter("prenom", prenom);
     
            return query.getResultList();
        }
     
    }
    Datatable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:ui="http://java.sun.com/jsf/facelets"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:icecore="http://www.icefaces.org/icefaces/core"  xmlns:ace="http://www.icefaces.org/icefaces/components"   xmlns:ice="http://www.icesoft.com/icefaces/component" 
    	>
        <h:head>
            <title>ICEfaces 2</title>
            <link rel="stylesheet" type="text/css" href="./xmlhttp/css/rime/rime.css"/>
        </h:head>
        <h:body styleClass="ice-skin-rime">    
                 <h:form id="form">
                    <h:outputText value="Ma Page Test"/>
                    <ice:panelGrid columns="2">
                       <ice:outputLabel id="Label1" value="Nom"></ice:outputLabel>
                       <ice:inputText  value="#{rechercheBean.nom}"></ice:inputText>
     
     
                       <ice:outputLabel id="Label2" value="PreNom"></ice:outputLabel>
                       <ice:inputText  value="#{rechercheBean.prenom}"></ice:inputText>
                    </ice:panelGrid>
     
                    <ice:commandButton action="#{rechercheBean.search}" value="RECHERCHE"/>
                 </h:form>
     
                 <ice:dataTable border="1" value="#{rechercheBean.listeResult}" var="result">
           <ice:column id="column1">
              <f:facet name="header">
    	    <ice:outputText value="Nom"></ice:outputText>
    	</f:facet>
            <ice:outputText value="#{result.nom}"></ice:outputText>
        </ice:column>
        <ice:column id="column2">
            <f:facet name="header">
    	    <ice:outputText value="Prénom"></ice:outputText>
    	</f:facet>
            <ice:outputText value="#{result.prenom}"></ice:outputText>
        </ice:column>
    </ice:dataTable>
        </h:body>
        <h:outputStylesheet library="org.icefaces.component.skins" name="rime.css" />
    </html>
    Merci Pour Les Remarques

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/02/2012, 17h18
  2. Réponses: 7
    Dernier message: 11/05/2010, 17h37
  3. [AC-2007] Inserer la valeur dans une table avec une liste qui en alimente une autre
    Par DidoFido dans le forum VBA Access
    Réponses: 6
    Dernier message: 03/12/2009, 12h39
  4. Réponses: 35
    Dernier message: 21/03/2007, 11h36
  5. ORACLE : pseudo-table avec une liste de valeurs
    Par LEPTMR dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/11/2006, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo