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 :

ManagedBean au comportement étrange


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Billets dans le blog
    1
    Par défaut ManagedBean au comportement étrange
    Bonjour j'utilise un managed bean afin de gérer les sessions utilisateurs, ce bean a un champ id qui vaut 0 si la session n'a pu être récupérer ou vaut l'id correspondant à l'identifiant de la base de données.
    L'accès a un formulaire se fait uniquement en cas de connexion je teste donc l'id mais j'ai remarqué une chose étrange, voici un extrait de ma page JSF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            <h:outputText value="#{userManagedBean.id}" />
    [...]
            <c:choose>
                <c:when test="#{userManagedBean.id==0}">
                    <div class="error">
                        <p>Vous devez être connecté pour pouvoir accéder à cette page !</p>
                        <p><h:outputLink value="connection.html" title="Se connecter">
                                <h:outputText value="Se connecter" />
                            </h:outputLink></p>
                    </div>
                </c:when>
    [...]
    Mon outputText affiche la valeur 5 qui correspond à un utilisateur, mais le message d'erreur s'affiche quand même (donc il considère que l'id vaut 0) alors qu'il ne devrait pas.
    Savez vous a quoi cela peut-il être du ? Je me retrouve avec 2 valeurs pour le même champ, c'est bizarre.
    Merci

  2. #2
    Membre expérimenté Avatar de fastdeath124
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Août 2011
    Messages : 117
    Par défaut
    Méchant JSTL
    T'as essayé l'attribut "rendered" sans passer par "choose" et "when"?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rendered="#{0 == userManagedBean.id}"

  3. #3
    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
    Est-ce que la taglib correspondant à c: est bien importée dans ton JSP? Sinon, jsp transmettra simplement ces tags directement au navigateur qui, lui, ne saura rien en faire et les ignorera, mais pas sas afficher le html qui se trouve à l'intérieur

    Edit: ha, oui, jsf. Ca ne se marie pas bien avec JSTL, car JSTL est évalué à chaque requête alors que l'arbre JSF est gardé en cache! Comme dit: attribut rendered pour ça!

  4. #4
    Membre éprouvé
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Billets dans le blog
    1
    Par défaut
    Merci pour vos réponse, à votre avis est-il judicieux d'utiliser le tag <subview> avec l'attribut rendered à la place du jstl ?

  5. #5
    Membre éprouvé
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Billets dans le blog
    1
    Par défaut
    finalement après quelque recherches j'ai vu que le tag <h:panelGroup> était plus approprié:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            <h:panelGroup layout="block" id="not_connected" rendered="#{userManagedBean.id==0}">
                <div class="error">
                    <p>Vous devez être connecté pour pouvoir déposer un projet !</p>
                    <p><h:outputLink value="connection.html" title="Se connecter">
                            <h:outputText value="Se connecter" />
                        </h:outputLink></p>
                </div>
            </h:panelGroup>
    layout="block" permet d'afficher un <div>
    Merci !

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

Discussions similaires

  1. [Forms6i] Un IF-ELSIF au comportement étrange
    Par lafouine dans le forum Forms
    Réponses: 11
    Dernier message: 13/09/2005, 15h40
  2. Comportement étrange apres une désinstallation
    Par Sunchaser dans le forum Excel
    Réponses: 4
    Dernier message: 06/08/2005, 19h44
  3. comportement étrange d'une jointure ...
    Par amenis dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 10/02/2005, 21h27
  4. [Système][Runtime][Exec] Comportement étrange au lancement de BeSweet
    Par divxdede dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 06/06/2004, 09h54
  5. Réponses: 2
    Dernier message: 22/09/2003, 11h23

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