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 :

Problème interaction utilisateur


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 32
    Par défaut Problème interaction utilisateur
    Bonjour à tous,

    Je commence tout juste à utiliser JSF et j'ai un problème que je n'arrive pas à résoudre facilement.

    Dans ma page web, j'ai un bouton qui lance une action dans le ManagedBean associé à la page. Dans cette action, j'ai besoin d'interagir avec l'utilisateur, comme par exemple ouvrir une boîte de dialogue pour lui poser une question.

    Comment faire pour interrompre une action du côté serveur pour demander quelque chose à l'utilisateur ?

    Je sais qu'une des solutions serait de séparer l'action côté serveur en plusieurs actions mais je trouve ça contraignant. N'y a-t-il pas un moyen plus simple ?

    Je suis issu du monde du client lourd donc je n'ai pas l'habitude de ce genre de problématique d'interactions entre le client et le serveur.

    Merci pour vos réponses.

    Cordialement

  2. #2
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    Avril 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Avril 2004
    Messages : 160
    Par défaut
    Citation Envoyé par Floflo_85 Voir le message
    Je sais qu'une des solutions serait de séparer l'action côté serveur en plusieurs actions mais je trouve ça contraignant. N'y a-t-il pas un moyen plus simple ?
    Tu vas intéragir avec l'utilisateur selon des données qui viennent de serveur? car si c'est limité au client tu peux utiliser de javascript, sinon tu peux utiliser d'ajax.
    Par contre interrompre une action du côté serveur pour demander quelque chose à l'utilisateur, je ne vois pas !!!

  3. #3
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 32
    Par défaut
    Je pense que la manière dont je pose le problème qui n'est pas bonne mais je ne vois pas comment faire autrement.

    En gros voici le cas qui me pose problème :

    Page.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
     
    <p:commandLink title="Titre" actionListener="#{monBean.executerAction}" />
     
    ...
    MonBean.java
    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
    @ManagedBean(name = "monBean")
    @ViewScoped
    public class MonBean implements Serializable {
    
    ...
    
    public void executerAction(ActionEvent actionEvent) {
    
    
    boolean confirmationUtilisateur = true; if(test côté serveur) {
    confirmationUtilisateur = demander confirmation user via boîte de dialogue;
    } if(confirmationUtilisateur) {
    // Exécution action
    }
    } ... }

  4. #4
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    Avril 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Avril 2004
    Messages : 160
    Par défaut
    Citation Envoyé par Floflo_85 Voir le message

    Page.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
     
    <p:commandLink title="Titre" actionListener="#{monBean.executerAction}" />
     
    ...
    A joute dans ton code ci-dessus l'evenement onclick="return confirmationUtilisateur();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:commandLink title="Titre" actionListener="#{monBean.executerAction}"  onclick="return confirmationUtilisateur();/>
    Aprés tu code ta fonction javascript qui va s'occuper d'afficher une boite de dialogue avec un message et 2 bouton Ok et Annuler, si tu valide tu pass à ton acction de bean sinon tu reste sur ta page.
    Avantage de ça: tu appelle le serveur que c'est vraiment confirmer.
    Bon courage.

  5. #5
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 32
    Par défaut
    Mon problème c'est que l'action confirmerUtilisateur() doit faire appel à un service côté serveur pour vérifier le paramétrage dans la base de données. Il me semble que le onclick() ne travaille que du côté client, non ?

  6. #6
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    Avril 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Avril 2004
    Messages : 160
    Par défaut
    Citation Envoyé par Floflo_85 Voir le message
    Mon problème c'est que l'action confirmerUtilisateur() doit faire appel à un service côté serveur pour vérifier le paramétrage dans la base de données. Il me semble que le onclick() ne travaille que du côté client, non ?
    si tu ne fai pas d'ajax Oui, mais dans ce cas tu peux utiliser Ajax ( t appelle le serveur depuis le client en javascript).

  7. #7
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 32
    Par défaut
    D'accord, dans ce cas, comment est-ce que je peux, à partir de la fonction confirmerUtilisateur(), appeler via ajax une méthode de mon managed bean ?

  8. #8
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    Avril 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Avril 2004
    Messages : 160
    Par défaut
    Citation Envoyé par Floflo_85 Voir le message
    D'accord, dans ce cas, comment est-ce que je peux, à partir de la fonction confirmerUtilisateur(), appeler via ajax une méthode de mon managed bean ?
    Il faut voir sur le forum, ça existe dejà des sujets, ou sur google, comment integrer ajax avec JSF.

    Sinon, si ton paramétrage qu tu va vérifier dans la base de données ne depond pas de ta page, tu peux charger ses informations avant d'afficher la page, comme ça tu pourra demander la confirmation avant d'aller sur ton ManagedBean.

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/04/2018, 16h02
  2. [EasyPHP] Problème d'utilisateur
    Par mathieugamin dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 31/01/2007, 11h22
  3. Problème avec utilisateurs
    Par nicaud dans le forum Oracle
    Réponses: 7
    Dernier message: 07/06/2006, 14h52
  4. Problème authentification utilisateurs.
    Par Mevil dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 02/06/2006, 09h04
  5. [FreeBSD] Problème d'utilisateur
    Par Gnux dans le forum BSD
    Réponses: 2
    Dernier message: 12/04/2006, 15h54

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