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 :

Créer un datatable à partir de ejb ql?


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Analyste programmeur
    Inscrit en
    Novembre 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : Novembre 2006
    Messages : 197
    Par défaut Créer un datatable à partir de ejb ql?
    Bonjour,

    depuis qlq jours j'essaye de creer un datatable à partir d'une requette EJB QL mais sans succé.

    Je m'explique un peu, je vais creer une table à partir d'une requette ejb ql cette requette utilise plusieur tables ou entite bean qui ne sont pas lies entre eux.

    avez vous une idée ou information???

    @+

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bonjour,

    Peux-tu préciser tes problèmes ?
    As tu des difficultés à créer ta requête EJB QL ? Si c'est le cas, je ne pense pas que ce soit le bon forum...
    Ou alors as-tu des difficultés à faire afficher les résultats de ta requête dans une datatable JSF ? Si c'est le cas, alors tu es sur le bon forum Mais il faut nous donner plus d'informations si tu veux de l'aide...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre confirmé
    Profil pro
    Analyste programmeur
    Inscrit en
    Novembre 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : Novembre 2006
    Messages : 197
    Par défaut
    Bonjour,

    Ok

    j'ai une requette EJB QL qui marche tres bien et je veux afficher cette resultat dans un datatable JSF.

    exemple :

    select d.id,d.name,a.model,a.type from table1 d,table2 a

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Voilà comment procéder alors :

    Tu crées une classe Java, on va dire MyRecord. Cette classe contiendra les propriétés suivantes : id, name, model et type, avec bien entendu les getters et les setters correspondants.

    Lorsque tu récupères les résultats de ta requête, tu crées pour chaque enregistrement un objet de classe MyRecord. Tu places tous les MyRecord dans une List, on va dire myRecords.

    Dans les pages JSF, tu vas demander à ta datatable d'itérer sur cette fameuse liste.
    Ce qui devrait donner quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <h:datatable value="#{myBean.myRecords}" var="record" ...>
        <h:column>
            <f:facet name="header">
                <h:outputText value="Id"/>
             </f:facet>
             <h:outputText value="#{record.id}"/>
             ...
        </h:column>
    </h:datatable>
    Est-ce plus clair ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre confirmé
    Profil pro
    Analyste programmeur
    Inscrit en
    Novembre 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : Novembre 2006
    Messages : 197
    Par défaut
    bonjour,

    j'ai l'essaye mais j'ai eu cette erreur:
    org.apache.jasper.JasperException: javax.faces.el.ReferenceSyntaxException: L'opérateur "." a été fourni avec une valeur d'index de type "java.lang.String" à appliquer à une liste ou un tableau, mais cette valeur ne peut être convertie en un nombre entier.
    voici ma requette :
    SELECT DISTINCT

    tablepocde_1.ClientP as client,
    tablepocde_1.SaisonP as saison,
    tablepocde_1.ModBaseP as model,
    tablepocde_1.`Nom Lavage` as lavage,
    tablequalite.NomTissu as tissu,
    planning.codechaine as chaine,
    tablepocde_1.POIntern as poi,
    tablepocde_1.PO as po,
    dcommandspart.`O/C` as oc
    FROM
    `d-commandespart` as dcommandspart
    LEFT JOIN tablepocde AS tablepocde_1 ON tablepocde_1.POIntern = dcommandspart.`O/CP`
    LEFT JOIN `tablequalité` as tablequalite ON tablequalite.CODEQUALITE=tablepocde_1.CODEQUALIT1
    LEFT JOIN plan_t_planplanning as planning ON planning.pointerne=tablepocde_1.pointern
    where tablepocde_1.ClientP='PRL' AND tablepocde_1.saisonP='SPRING 07' AND tablepocde_1.pOIntern='01.020.01605'
    et ma classe :
    private String clientP;
    private String saisonP;
    private String modBaseP;
    private String nom_lavage;
    private String nomtissu;
    private String codeChaine;
    private String pOIntern;
    private String po;
    private String o_c;
    public Listpo(String clientP,String saisonP,String modBaseP,String nom_lavage,String nomtissu,String codeChaine,String pOIntern,String po,String o_c) {

    this.clientP=clientP;
    this.saisonP=saisonP;
    this.modBaseP=modBaseP;
    this.nom_lavage=nom_lavage;
    this.nomtissu=nomtissu;
    this.codeChaine=codeChaine;
    this.pOIntern=pOIntern;
    this.po=po;
    this.o_c=o_c;
    }
    avec les getters et les setters

    l'appelle de la requette:
    List<Listpo> pp =sessionEJB.SQLNATIVE(requette);
    je crois qu'il y a une chose qui m'echappe

  6. #6
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour.
    As tu déjà testé ta requête indépendamment de JSF ? Histoire de savoir d'où elle vient ... J'ai comme l'impression que ça n'a rien à voir avec JSF.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/12/2007, 18h44
  2. créer DataTable à partir d'un IList?
    Par cortex024 dans le forum ASP.NET
    Réponses: 14
    Dernier message: 30/08/2007, 15h57
  3. [C#] Créer un document à partir de mon prog
    Par matech dans le forum Windows Forms
    Réponses: 8
    Dernier message: 03/03/2005, 16h27
  4. Créer une video à partir d'images
    Par Akta3d dans le forum DirectX
    Réponses: 5
    Dernier message: 13/07/2004, 14h46
  5. Comment créer un bitmap à partir d'un panel ?
    Par calou34 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 19/08/2003, 15h06

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