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 :

[JSF] un bug de commandLink ?


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2004
    Messages : 103
    Par défaut [JSF] un bug de commandLink ?
    Bonjour,

    étant nouveau en JSF, je voudrais appeler une méthode métier ListLogin.viewLogin avec le commandLink suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <h:form id="formViewLogin">
                                    <h:commandLink action="#{ListLogin.viewLogin}" id="lnkViewDetails" value="#{bundle.administration_login_listLogin_lnkViewDetails}">
                                        <f:param name="idUser" value="#{user.id}" />                           
                                    </h:commandLink>
                                </h:form>
    Cela semble marcher, la méthode viewLogin est appelée et le paramètre récupéré.

    Cependant, mon problème est double :
    1/ lorsque le code du lien logout est présent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <h:form id="formLogout">
                                Logged User: <h:outputText value="#{UserSession.currentUser.userName}" />
                                <br />               
                                <h:commandLink id="logout" action="#{Logout.viewLogin}" value="#{bundle.common_lnkLogout}" />
                            </h:form>
    Mon lien vers viewLogin ne veut plus fonctionner : il essaie de me rediriger vers l'adresse # (qui je suppose va chercher dans le href du lien javascript généré !).

    2/ Si je mets mon commandLink viewLogin dans une h:datatable, ce qui est le but de l'exercice (un lien "voir les détails" à coté de la liste) c'est encore pire puisque ma page est simplement vidée et rechargée.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Par défaut
    Peux tu me donner le code de ta méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public String viewLogin() {
    ...
    return ....;
    }
    qui est associée à:

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2004
    Messages : 103
    Par défaut
    Il s'agit en fait du même code que j'ai dupliqué dans deux managed beans (pour mes tests) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            FacesContext context = FacesContext.getCurrentInstance();
            HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
            String id = request.getParameter("idUser").toString();
    //TODO:some business stuff here
            return "viewLogin";

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Par défaut
    Peux tu mettre le code de ton navigation-rule associé à ta page???

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2004
    Messages : 103
    Par défaut
    Ci-après

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        <navigation-rule>
            <from-view-id>/administration/login/listLogin.xhtml</from-view-id>
            <navigation-case>
                <from-outcome>viewLogin</from-outcome>
                <to-view-id>/administration/login/viewLogin.xhtml</to-view-id>
            </navigation-case>
            <navigation-case>
                <from-outcome>changePassword</from-outcome>
                <to-view-id>/administration/login/changePassword.xhtml</to-view-id>
            </navigation-case>
        </navigation-rule>

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Par défaut
    1. au niveau de ce code là:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      String id = request.getParameter("idUser").toString();
      aucune exception du type
      est affichée dans ta console car ca pourrait être une cause de ton erreur, le code plante...

    2. Vérifie que ta méthode est bien appelée, ca peut te parraitre idiot mais des fois ca arrive

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

Discussions similaires

  1. JSF CommandLink au sein DataTable
    Par essaine dans le forum JSF
    Réponses: 2
    Dernier message: 12/04/2010, 11h55
  2. JSF dataTable commandLink
    Par Nemesys1976 dans le forum JSF
    Réponses: 5
    Dernier message: 24/01/2010, 22h30
  3. jsf commandLink tag
    Par glasgow dans le forum JSF
    Réponses: 4
    Dernier message: 02/02/2009, 09h24
  4. commandlink et datatable en jsf
    Par quick dans le forum JSF
    Réponses: 2
    Dernier message: 16/06/2008, 17h45
  5. h:commandLink et jsf
    Par halima.2008 dans le forum JSF
    Réponses: 2
    Dernier message: 08/04/2008, 14h41

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