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 :

Extraire le clé primaire à partir d'une ligne d'un datatable


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 132
    Par défaut Extraire le clé primaire à partir d'une ligne d'un datatable
    Bonjour , je developpe une entreprise application JEE avec netbeans 6.7 ,JSF et MySQL representant une interface web aux clients qui leurs permettent de s'inscrire au premier temps et de login et modifier leurs comptes ultérieurement .


    Une de mes page est la page 'list' qui represente sous forme d'un datatable tout les clients avec un commandbutton delete et un command button edit devant chaque ligne .
    Mais ,maintenant je suis face à un probléme .Quand je clique sur le bouton 'delete' (ou edit ) pour supprimer cette ligne ca marche uniquement si j'ai laissé la session ouverte cad si j'ai pas cliqué sur le 'logout' précédemment .

    Si j'ai quitté la session en cliquant sur 'logout' ou si j'ai pas entré complétement à mon compte et je suis passé directement à la page 'list' , quand je clique sur le bouton , je trouve cet erreur :


    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
    type Rapport d'exception
     
     
    Message
     
    DescriptionLe serveur a rencontré une erreur interne () qui l'a empêché de remplir cette requête.
     
    Exception
     
    javax.servlet.ServletException: #{metier.update}: java.lang.NullPointerException
     
    Cause racine
     
    javax.faces.FacesException: #{metier.update}: java.lang.NullPointerException
     
    Cause racine
     
    javax.faces.el.EvaluationException: java.lang.NullPointerException
     
    Cause racine
     
    java.lang.NullPointerException
     
    note Les suivis de pile complets de l'exception et de ses causes principales sont disponibles dans les journaux Sun GlassFish Enterprise Server v2.1.
    Normalement ca vient du faite qu'il peut pas trouver le cle primaire 'login' de la ligne concernée .

    La methode 'delete' par exemple est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public String delete()
    {
        FacesContext context = FacesContext.getCurrentInstance();
     
    Map map = context.getExternalContext().getRequestParameterMap();
     login = (String) map.get("loginn");
     
        cf.remove(c);
     
        return "removed";
    }

    ou c est de type client et cf de type clientfacadelocale .

    Le code concernant le commandbutton est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <h:commandButton id="deleteclient"
                               value="Delete"
                               action="#{metier.delete}">
     
    <f:param name="loginn" value="#{item.login}"/>
               </h:commandButton>

    Une idée ? Merci.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par dalidali86 Voir le message


    Une idée ? Merci.
    Si on pouvait déjà avoir le stacktrace de l'exception, on saurais ce qui est null et comment réparer ça.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 132
    Par défaut
    Salut ,


    Bon j'ai pas travaillé avant avec stacktrace , j'ai trouvé cet exemple dans ce lien

    http://www.roseindia.net/java/java-g...e-string.shtml

    est c'est ca qui convient .


    Merci

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu fait simplement e.printStackTrace(), e étant ton exception. Et tu nous donne à la fois en entier ce que ca sort et le code qui concerne ce stacktrace.

  5. #5
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 132
    Par défaut
    Jai essayé de le faire de cette maniére



    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
    public String remove2() throws Exception
    {
     
        try
    {
      FacesContext context = FacesContext.getCurrentInstance();
     
    Map map = context.getExternalContext().getRequestParameterMap();
     login = (String) map.get("loginn");
     
       cf.remove(c);
     
    }
    catch (IOException e)
    {
     
      e.printStackTrace();
    }
    return null;
    }

    mais ca montre cet erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exception java.io.ioexception is never thrown in body of corresponding try statement
    devant la ligne


    c'est quoi qui est mal fait ?

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    de toutes facons ton exception est déjà mentionnée par JSF, donc elle doit déjà etre loggué quelque part. Quand à ton never thrown, c'est parce que IOException n'est pas une exception possible dans le code que t'as mentionné

  7. #7
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 132
    Par défaut
    Salut ,

    y'a t'il donc pas une solution pour contourner ca ?

    Merci d'avance

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

Discussions similaires

  1. Créer de nouvelles colonnes à partir d'une ligne
    Par julien4 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 10/10/2007, 12h33
  2. [VB.net 2005] Extraire un binary image à partir d'une base access
    Par WriteLN dans le forum Accès aux données
    Réponses: 1
    Dernier message: 29/01/2007, 09h23
  3. Comment extraire le mois à partir d'une date?
    Par toumoham dans le forum Paradox
    Réponses: 1
    Dernier message: 17/05/2006, 13h37
  4. lancer une mdb a partir d'une ligne de commande
    Par dpie dans le forum Access
    Réponses: 5
    Dernier message: 30/11/2004, 15h01
  5. Effacer le contenu d'un fichier a partir d'une ligne
    Par localhost dans le forum Linux
    Réponses: 3
    Dernier message: 04/04/2004, 04h47

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