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 :

probleme Navigation Rules


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 70
    Par défaut probleme Navigation Rules
    bonsoir
    j'ai une page jsp nomme consultationBcn dont le code est le suivant :
    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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <f:view>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Consultation BCN</title>
    </head>
    <body>
    <h:form>
    <h1 style="font-size: 30px; font-family: arial; color:blue">CONSULTATION B.C.N</h1>
    <h:panelGrid columns="3" border="5" style="background-color:Orange">
    <h:outputText value="Numero B.C.N"></h:outputText>
    			<h:inputText id="numbcn" value="#{consultationBcn.numBcn}"></h:inputText>
    			<h:commandButton value="Afficher" type="submit" action="#{consultationBcn.afficher}"></h:commandButton>
    </h:panelGrid>
    </h:form>
    </body>
    </f:view>
    </html>
    le bean associé est le suivant :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    public class ConsultationBcn 
    {
       private Bcn b;
       private int numbcn;
       public ConsultationBcn(){}
       void setNumBcn(int numbcn)
       {
    	   this.numbcn=numbcn;
       }
       public int getNumBcn()
       {
    	   return numbcn;
       }
       public String afficher()
       {
    	   ConsultationBcn cb= new ConsultationBcn();
     
    	   int num =cb.getNumBcn();
    	   try
    	   {
    	   _RootDAO.initialize();
    	    BcnDAO tbcn= new BcnDAO();
    	    List<Bcn> l = tbcn.findAll(); 
    		Iterator <Bcn> i = l.iterator();
    		while (i.hasNext())
    		{
    			b=(Bcn) i.next();
    			if (b.getNBcn()== num)
    			{   
    				return "J_A";
     
    			}
    		}
    	   }
    	   catch(HibernateException e){}
    	; 	
    		return "J_E";
       }
    }
    dans le faces-Config.xml j'ai ajouté ces lignes de codes pour la redirection :

    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
    <navigation-rule>
       	<display-name>ConsultationBCN</display-name>
       	<from-view-id>/ConsultationBCN.jsp</from-view-id>
       	<navigation-case>
       		<from-outcome>J_A</from-outcome>
       		<to-view-id>/AfficheBcn.jsp</to-view-id>
       	</navigation-case>
       </navigation-rule>
       <navigation-rule>
       	<display-name>ConsultationBCN</display-name>
       	<from-view-id>/ConsultationBCN.jsp</from-view-id>
       	<navigation-case>
       		<from-outcome>J_E</from-outcome>
       		<to-view-id>/AfficheErreurBcn.jsp</to-view-id>
       	</navigation-case>
       </navigation-rule>

    j'ai essayé de recuperer l'attribut numbcn dans la page afficheBcn.jsp pour tester les navigations rules mais rien ne se passe !!!

    y a t-il une solution ??

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Pourquoi créer une instance de ton bean dans le même bean, il suffit d'appeler le getter de ton paramètre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
       public String afficher()
       {
     
     
    	   int num = getNumBcn();
     
           // Suite 
    }
    et fais attention à la règle de nommage des java bean , un attribut de classe commence par une minuscule.

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 70
    Par défaut
    merci Sniper , mais est-ce que les regles de navigation sont correctes ?

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Par défaut
    Les règles de navigation ont l'air correctes (n'oublie pas de déclarer ton bean dans le faces-config)... par contre l'erreur qu'à souligné Sniper est grossière.

    ConsultationBcn cb= new ConsultationBcn();
    int num =cb.getNumBcn();

    Tu créés un nouveau Bean dans ton Bean... du coup cb.getNumBcn() te retourne 0 (initialisation par défaut d'un int).

  5. #5
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 70
    Par défaut
    t' a raison mon ami , mais je suis encore débutant dans le domaine je te promet que ça se répétera pas

  6. #6
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 70
    Par défaut
    mes amis je veux maintenant consulter ma base de données pour afficher les données correspondantes au "numbcn" saisie par l'utilisateur .
    est ce que quelqu'un peut m'aider avec un bout de code ?

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par Emir83 Voir le message
    est ce que quelqu'un peut m'aider avec un bout de code ?
    Salut,
    Primo, c'est un forum JSF pas JDBC ou DAO ou hibernate..
    secondo, il vaut mieux lire les cours java disponible sur le forum, essayer de comprendre, tester .. et si tu as du mal, pour un problème JSF tu peux créer une discussion ici sinon pour un problème d'accès à la base de donnée, tu peux le faire dans le forum dédié.

    Cours JSF : beaucoup de cours JSF avec des exemples d'accès aux bases de données.

    JSF

    Bon courage.

Discussions similaires

  1. navigation-rule sur l'ensemble des pages
    Par laurent.c123 dans le forum JSF
    Réponses: 9
    Dernier message: 09/02/2009, 00h11
  2. Réponses: 3
    Dernier message: 30/05/2008, 10h39
  3. Réponses: 2
    Dernier message: 23/04/2008, 19h56
  4. Probleme navigation précédente / suivant
    Par Sami Xite dans le forum Windows XP
    Réponses: 4
    Dernier message: 19/04/2008, 22h18
  5. navigation-rule ne marche pas
    Par verbose dans le forum JSF
    Réponses: 5
    Dernier message: 10/10/2007, 10h20

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