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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 ?

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