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

Taglibs Java Discussion :

[JSF] probleme avec la balise if


Sujet :

Taglibs Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Par défaut [JSF] probleme avec la balise if
    Bonjour,
    je suis débutant en jsp/jsf/jstl et je dois vous avouer que j'ai vraiment du mal (a trouver des bons tutorials et a trouver mes erreurs), donc j'essai de developper un petit site avec un systeme de login mais je bloque au début, en effet j'essai de faire une page d'acceuil qui inclus un formulaire de login dans le cas ou l'utilisateur n'est pas logger, seulement je rencontre quelque soucis avec la balise <c:if>. J'ai fais deux codes, un qui marche et l'autre qui ne marche pas :

    Celui qui marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    		<f:view>
    			<h:outputText value="#{userBO.log}"></h:outputText>
    		<c:set var="log" value="${userBO.log}" />		
    		<c:if test="${log == false}">
    			<jsp:include page="WEB-INF/pages/login.jsp" />
    		</c:if>
    		<c:if test="${log == true}">
    			<c:out value="Vous etes logger !"/>
    		</c:if>
    		</f:view>
    Celui qui ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    		<f:view>
    		<c:set var="log" value="${userBO.log}" />		
    		<c:if test="${log == false}">
    			<jsp:include page="WEB-INF/pages/login.jsp" />	
                    </c:if>
    		<c:if test="${log == true}">
    			<c:out value="Vous etes logger !"/>
    		</c:if>
    		</f:view>
    j'ai l'impression que si mon bean n'est pas appelé par outputtext la balise if n'accède pas a ce bean et ne m'affiche rien (dans le premier j'ai bien le formulaire, dans le deuxième je n'ai strictement rien même pas d'exception...)

    Merci d'avance !

    EDIT : Ma question ^^ : Pourquoi est ce que je dois faire un outputtext pour que cela marche, et comment faire pour l'enlever et faire quelque chose de plus propre ?

    EDIT 2 : Voici les lib que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <%@ page import="javax.faces.context.FacesContext" %>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Par défaut
    En tatonnant un peu j'ai trouvé, ca a l'air de marcher :

    J'ai juste changé le "$" en "#" sur le set... (chose que je ne comprend puisqu'il me semblait qu'avec des tag jstl il fallait utilisé le "$")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    		<f:view>
    		<c:set var="log" value="#{userBO.log}" />		
    		<c:if test="${log == false}">
    			<jsp:include page="WEB-INF/pages/login.jsp"></jsp:include>
    		</c:if>
    		<c:if test="${log == true}">
    			<c:out value="Vous etes logger !"/>
    		</c:if>
    		</f:view>
    EDIT : Fausse alerte ca ne marche pas en fait log est setté a "#{userBO.log}" et non a true ou false

    EDIT 2 : Pour l'instant je vais faire comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	<f:view>
    		<h:panelGroup rendered="#{userBO.log eq false}">
    			<jsp:include page="WEB-INF/pages/login.jsp" />
    		</h:panelGroup>
    		<h:panelGroup rendered="#{userBO.log eq true}">
    			<h:outputText value="Vous etes logger !"/>
    		</h:panelGroup>
    	</f:view>
    si vous avez une meilleure solution, je prend !

Discussions similaires

  1. [M2ECLIPSE] probleme avec la balise <extensions>
    Par DanielW33 dans le forum Maven
    Réponses: 1
    Dernier message: 09/03/2007, 10h04
  2. [ANT] probleme avec la balise <path>
    Par Papri dans le forum ANT
    Réponses: 5
    Dernier message: 06/03/2007, 11h37
  3. Probleme avec la balise <select>
    Par amine1980 dans le forum Struts 1
    Réponses: 2
    Dernier message: 08/02/2007, 12h58
  4. Probleme avec la Balise li et les feuille de style.
    Par glycerine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 04/09/2006, 20h52

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