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 :

Méthode navigation entres pages [Débutant(e)]


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Ceddoc
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 493
    Par défaut Méthode navigation entres pages
    Bonjour,

    Je me lance tout juste dans le monde de jsf et pour l'instant je fais une application très basique.

    A un moment je navigue entre une page type "menu principal" et une autre page. J'utilise ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     <navigation-rule>
      <from-view-id>/main.xhtml</from-view-id>
      <navigation-case>
       <from-outcome>addcontact</from-outcome>
       <to-view-id>/addcontact.xhtml</to-view-id>
      </navigation-case>
     </navigation-rule>
    et un lient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    h:commandLink action="addcontact">
           <h:outputText value="Ajouter un contact"/>
         </h:commandLink>
    Seulement j'aimerais pouvoir déclencher un traitement java lorsque l'on arrive sur la seconde page (ici "addcontact")

    ça correspondrait au "on load" côté java ou quelque chose dans ce gout là.

  2. #2
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    en fait il vaut mieux que "action" pointe vers une méthode, qui elle donnera comme cible de navigation ta seconde page.

    sinon, autre manière, si tu veux rester dans ta logique au chargement de la page, tu peux faire ça :

    http://itakeitalltheway.blogspot.fr/...page-load.html

  3. #3
    Membre chevronné Avatar de Ceddoc
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 493
    Par défaut
    Citation Envoyé par fxrobin Voir le message
    en fait il vaut mieux que "action" pointe vers une méthode, qui elle donnera comme cible de navigation ta seconde page.
    ça me paraitraît plus cohérent en effet, je n'ai fait que suivre un tuto et c'est vrai que cette solution paraissait bizarre.

    Comment faut il s'y prendre pour, depuis une méthode, donner la seconde page?

    Autre petite question, est-ce qu'on est obligés d'appeler des méthodes du bean principal ou il y a d'autres moyens?

  4. #4
    Membre expérimenté
    Avatar de karbos
    Inscrit en
    Novembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 155
    Par défaut
    Je passais par là, et JSF n'est pas mon grand point fort. Néanmoins je peux te répondre à ce stade là : oui tu mets la deuxième page (ou je ne comprends pas à quoi sert le chargement de la première) et non tu n'es pas obligé d'appeler une méthode du bean principal, tu peux appeler n'importe quelle méthode de n'importe quel bean avec un code du genre :
    Tu peux même passer des paramètres et récupérer des valeurs en retour...
    La seule difficulté est de tester quelle méthode tu va appeler réellement à chaque fois et de bien comprendre les notions de "bean" et de "scope". Enfin, là tu ne débutes pas, je pense

  5. #5
    Membre chevronné Avatar de Ceddoc
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 493
    Par défaut
    Je sais que je peux utiliser des méthodes d'autres beans mais je me demandais si il n'y avais pas moyen d'appeler des méthodes de classes types "controller" "handler" "listener" ou ce genre de chose.

    Pour moi un bean sert avant tout à passer de la data et donc j'aime pas trop mettre traitements à l'intérieur. Biensûr je pourrais mettre mes traitements dans des classes outils statiques mais j'aime pas trop non plus que l'appel parte du bean.

    Et ma première question était de savoir comment on passe cette seconde page pour qu'elle soit affichée.

  6. #6
    Membre expérimenté
    Avatar de karbos
    Inscrit en
    Novembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 155
    Par défaut
    J'ai répondu tout à côté alors
    Bon je réessaye, pour gérer ta navigation tu dois rajouter des cas, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <navigation-case>
    	<from-action>#{monBean.maMethode}</from-action>
    	<from-outcome>ok</from-outcome>
    	<to-view-id>/pageDestination.jsp</to-view-id>
    </navigation-case>
    Ça ça veut dire que la méthode en question retourne une chaîne de texte, un peut comme en Struts. Si la chaîne de texte est "ok", alors bingo... De mémoire, il faut gérer tous les cas, sinon tu vas avoir des trucs bizarre. Je crois même que tu peux renvoyer directement une URL (String) en retour d'une méthode et que ça redirige l'utilisateur (j'avais trouvé ça moche).
    Sinon, pour appeler les méthodes de classes types "controller" "handler" "listener" ou ce genre de chose, tu dois passer par des ManagedBean. Donc tu as des Bean chargés de passer des data, comme tu dis, mais tu as aussi d'autres beans qui ne contiennent que des méthodes. Ils ne sont pas statiques, mais devraient avoir le scope "session" ou "application".

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

Discussions similaires

  1. Externaliser navigation entre pages
    Par igloof dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 12/01/2009, 12h53
  2. Navigation entre pages, mais URL figée
    Par maVariable dans le forum JSF
    Réponses: 4
    Dernier message: 21/07/2008, 13h23
  3. Navigation entre pages avec option de tri,etc
    Par elfenlieder dans le forum Ruby on Rails
    Réponses: 12
    Dernier message: 30/10/2007, 13h54
  4. [Visual Web] [VWP] Navigation entre pages WEB
    Par david71 dans le forum NetBeans
    Réponses: 1
    Dernier message: 27/09/2007, 00h28
  5. [XAML, XBAP, WPF] Navigation entre pages
    Par despeludo dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 20/03/2007, 00h25

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