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 :

DataTable : remplissage à partir d'une requete SQL


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Points : 36
    Points
    36
    Par défaut DataTable : remplissage à partir d'une requete SQL
    Salut tout le monde!
    Je travaille dans mon application JEE avec EJB 3.0 et JSF sous Netbeans; j'éssaie de visualiser le résultat d'une requete SQL (portant sur une seule table) dans le composant DATATABLE.
    Voici le code:

    <h:dataTable value="#{Agence.message}" var="item">
    <h:column>
    <h:outputText value="#{item.nomandat}" />
    </h:column>
    <h:column>
    <h:outputText value="#{item.nomessage}" />
    </h:column>
    </h:dataTable>

    Agence est le javaBean, message est 'élément liste qui contient le résultat de la requête; nomandat et nomessage sont des champs de la table que j'ai bien inclus dans le SELECT.
    à l'execution, je vois dans la page d'erreur que nomandat et nomessage ne
    sont pas reconnus .
    D'autre part, j'ai problème avec les crochets , faut traiter tous les résultats ou bien existe-t-il qq astuce?
    merci d'avance

  2. #2
    Membre confirmé

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Points : 452
    Points
    452
    Par défaut
    Salut Arcanna,

    Est ce que tu as des accesseurs à tes attributs nomandat et nomessage dans ton bean?

    Je ne comprends pas ton probleme de crochets, peux tu developper?

    Pour avoir une correction plus rapidement, le mieux ça serait une partie du message d'erreur et une partie de ton bean (déclaration des variables, l'endroit ou elles sont instanciées et les getters/setters utiles).

    Bon courage,
    Cordialement,
    Tif

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Points : 36
    Points
    36
    Par défaut
    Non, ce sont des attributs de l'EJB entité correspondant à la table. Voila ce que j'ai fait exactement:
    dans l'EJB session j'ai écrit la requete comme suit:

    public List lireMessage(int noagence)
    {
    String req="select * from messageage where noagence="+noagence;
    return em.createNativeQuery(req).getResultList();
    }

    Et puis dans le javaBean, voici le code concerné:

    @EJB
    private AgenceRequetesLocal arl; //l'interface correspondant à l'EJB //session

    private List message; //pour recueillir le résultat de la requête


    public List getMessage() {

    setMessage(arl.lireMessage(getNoAgence()));
    return message;
    }

    public void setMessage(ArrayList<Messageage> message) {
    this.message = message;
    }

    et Voici l'erreur:
    exception
    javax.servlet.ServletException: For input string: "nomandat"
    root cause
    java.lang.NumberFormatException: For input string: "nomandat"


    Pour la question des crochets, si je définis une seule colonne dans la datatable par exemple:
    <h:form>
    <h:dataTable value="#{Agence.message}" var="item">
    <h:column>
    <h:outputText value="#{item}" />
    </h:column>
    </h:dataTable>
    </h:form>
    Le résultat est le suivant:

    [1, 1, 1, 2007-08-19 14:37:11.0]
    [2, 1, 1, 2007-08-19 14:39:22.0]
    [3, 1, 1, 2007-08-19 14:41:02.0]
    [4, 1, 1, 2007-08-19 14:41:05.0]

    j'espère que c'était clair; Merci beaucoup

  4. #4
    mow
    mow est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 210
    Points : 166
    Points
    166
    Par défaut
    Salut,

    Je ne sais pas si cela pourra t'aider mais voilà quelques pistes :

    1) Vérifie que les accesseurs de tes attributs soient publiques (je pense que c'est ok)

    2) Concernant ta variable message, je l'aurais déclaré pluot comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private ArrayList<Messageage> message;
    Par contre dans ton EJB Local je ne comprends pas ton getter (getMessage)

    Voila,
    Mow

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/04/2009, 02h12
  2. remplir un Jtree à partir d'une requete SQL
    Par opensource dans le forum SQL
    Réponses: 5
    Dernier message: 21/01/2008, 17h25
  3. [SQL] Remplir à partir d'une requete SQL
    Par GarsDuCalvados dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/09/2007, 10h41
  4. Comment faire du MDX à partir d'une requete SQL?
    Par Immobilis dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 10/11/2005, 09h46
  5. Tableau a partir d'une requete sql
    Par 10-nice dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/10/2004, 16h37

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