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 RequestContext ne marche pas


Sujet :

JSF Java

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    octobre 2012
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 94
    Points : 90
    Points
    90
    Par défaut Probleme RequestContext ne marche pas
    Bonjour,

    j'ai besoin de faire un appel d'une page xhtml dans une autre page mais je constate que mon application n'arrive pas
    à ouvrir une autre fenêtre de dialogue.

    Comme si la méthode RequestContext ne fonctionne pas avec primefaces 6.1 (sous netbeans 8).
    voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        public String brefDialog(){
            System.out.println("Appel page SelectionPersonnel");
            Map<String,Object>proprietes=new HashMap<>();
            proprietes.put("modal",true);
            proprietes.put("resizable",false);
            proprietes.put("contentHeight",470);
     
            RequestContext.getCurrentInstance().openDialog("SelectionPersonnel",proprietes,null);
             System.out.println("Fin Appel page SelectionPersonnel");
             return "";
        }

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    novembre 2006
    Messages
    7 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 082
    Points : 9 167
    Points
    9 167
    Billets dans le blog
    1
    Par défaut
    C'est normal, la méthode openDialog est Deprecated.
    abstract void openDialog​(String outcome) Deprecated. Use PrimeFaces.dialog().openDynamic() instead
    abstract void openDialog​(String outcome, Map<String,Object> options, Map<String,List<String>> params) Deprecated. Use PrimeFaces.dialog().openDynamic() instead
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    octobre 2012
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 94
    Points : 90
    Points
    90
    Par défaut
    Merci pour votre réponse, si possible de me donner un exemple comment utiliser cette nouvelle méthode.
    Lorsque j’introduis cette méthode il y a une erreur.

    Nom : erreurDialog.png
Affichages : 32
Taille : 16,9 Ko

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    novembre 2006
    Messages
    7 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 082
    Points : 9 167
    Points
    9 167
    Billets dans le blog
    1
    Par défaut
    Et bien il faut avoir le jar de Primefaces dans le classpath et bien sûr il faut faire l'import...
    Avec Eclipse, on fait Ctrl+Espace sur le "Primefaces" souligné ou (Ctrl+Shift+o dans la classe) et ça génère la ligne d'import, sinon, on peut toujours le faire soit-même, la classe est org.primefaces.context.RequestContext.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    octobre 2012
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 94
    Points : 90
    Points
    90
    Par défaut
    Merci pour ta réponse dans mon classthpath j'ai un jar que voici:
    Nom : librairie.png
Affichages : 28
Taille : 14,5 Ko

    En appuyant sur la touche ctrl+ espace, j'obtiens:

    Nom : context.png
Affichages : 30
Taille : 12,2 Ko

    Si je dois créer moi même cette classe, comment dois-je le faire. Aidé-moi je suis bloqué pour avancé dans mon apprentissage.

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    novembre 2006
    Messages
    7 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 082
    Points : 9 167
    Points
    9 167
    Billets dans le blog
    1
    Par défaut
    Il ne s'agit pas de créer cette classe mais de la référencer, seule la ligne import est à ajouter en début de source (sous la directive package et avant la ligne class)
    En clair, tu ajoutes cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import  org.primefaces.PrimeFaces;

    Enfin, je dis ça, mais je vérifie sur la base d'une lib primeface-6.2, je ne sais pas si la 6.1 était différente.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    octobre 2012
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 94
    Points : 90
    Points
    90
    Par défaut
    Oui, je viens de changer le jar primefaces 6.1 à 6.2, les messages d'erreurs ne s'affiche plus sur la méthode sauf qu'en cliquant sue le bouton recherche,
    aucune fenêtre ne s'ouvre pas.

    La méthode corrigé dans le bean Managé devient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public void showPersonnelDialog(){
            System.out.println("Appel page SelectionPersonnel");
            Map<String,Object>proprietes=new HashMap<>();
            proprietes.put("modal",true);
            proprietes.put("resizable",false);
            proprietes.put("contentHeight",470);
     
            PrimeFaces.current().dialog().openDynamic("SelectionPersonnel",proprietes, null);       
             System.out.println("Fin Appel page SelectionPersonnel");         
        }
    Page xhtml:

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    <?xml version='1.0' encoding='UTF-8' ?>
    <ui:composition xmlns="http://www.w3.org/1999/xhtml"
    		xmlns:ui="http://java.sun.com/jsf/facelets"
    		xmlns:h="http://java.sun.com/jsf/html"
    		xmlns:f="http://java.sun.com/jsf/core"
    		xmlns:p="http://primefaces.org/ui"
    		template="/resources/templates/generalTemplate.xhtml">
     
        <ui:define name="title">
            APTITUDE MEDICALE
        </ui:define>
     
        <ui:define name="content">       
     
            <div class="panel panel-primary">
                <div class="panel-heading">					
                    APTITUDE MEDICALE				
                </div>
                <div class="panel-body">
                   <h:form id="administration"> 
                         <!--affichage message d'erreur-->
                         <p:growl id="msg" showDetail="true"/>
     
                        <div class="form-group">
                            <h:outputLabel value="Personnel" for ="nompe" class="control-label"/>
                            <h:panelGroup>
                                <h:inputText id="nompe" size="50" value="#{personnelBean.nompe}"/>
                                <h:inputText id="idpe"  value="#{aptitudeBean.idpe}"/>
                                <p:commandButton icon="ui-icon-search" title="Recherche"
                                                 action="#{personnelBean.showPersonnelDialog()}"
                                   process="@this" update="@none"/>
                            </h:panelGroup>                      
                        </div>
     
                         <div class="form-group"> 
                            <h:outputLabel value="Medecin" for="idmed" class="control-label"></h:outputLabel>                        
                            <h:selectOneMenu id="idmed" value="#{aptitudeBean.idmed}" 
                               style="width:70%" class="form-control">
                            <f:selectItem itemLabel="Selectionnez un médecin" itemValue=""  />
                            <f:selectItems value="#{medecinBean.medecinList}" 
                                           var="med" itemLabel="#{med.nommed}" itemValue="#{med.idmed}"/>
                            </h:selectOneMenu>
                        </div>
     
                        <div class="form-group">
                            <h:outputLabel value="Date délivrance" for="datedel" class="control-label"></h:outputLabel>
                            <p:inputMask id="datedel" value="#{aptitudeBean.datedel}"
                                        mask="9999/99/99" />
                        </div>    
     
                        <div class="form-group">
                            <h:outputLabel value="Date expiration" for="dateexp" class="control-label"></h:outputLabel>
                            <p:inputMask id="dateexp" value="#{aptitudeBean.dateexp}"
                                        mask="9999/99/99" />
                        </div> 
     
                        <div class="form-group">
                            <h:outputLabel value="Observations" for="obs" class="control-label"></h:outputLabel>
                            <p:inputTextarea 
                                      placeholder="Observation, max 50 caractéres.."
                                      autoResize="true" 
                                      value="#{aptitudeBean.observation}" 
                                id="obs" class="form-control">
                            </p:inputTextarea>
                        </div>
     
                         <p:commandButton value="valider" ajax="false" update="administration:msg" 
                                          actionListener="#{aptitudeBean.enregistrer}" 
                                          class="btn bg-primary">
                              <f:ajax execute="@form" render="@form" />
                         </p:commandButton>
     
                   </h:form>
                </div><!--fin div panel body-->
            </div> <!--fin div panel panel primary-->        
     
        </ui:define>
     
    </ui:composition>
    On devrait avoir :

    Nom : nouvelleaptitude.png
Affichages : 23
Taille : 10,9 Ko

    en cliquant sur recherche, la fenêtre suivante devrait s'ouvrir:
    Nom : selectionpersonnel.png
Affichages : 24
Taille : 28,8 Ko

    Malheureusement rien ne se fait.

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    novembre 2006
    Messages
    7 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 082
    Points : 9 167
    Points
    9 167
    Billets dans le blog
    1
    Par défaut
    Quelle est la structure arborescente de tes pages ?
    La pageSelectionPersonnel se trouve dans le même répertoire que la page que tu montres ?
    Si rien ne s'affiche, c'est peut-être parce que Primefaces cherche ta page au mauvais endroit, tu peux déjà essayer en mettant le chemin complet de la page à ouvrir.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    octobre 2012
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 94
    Points : 90
    Points
    90
    Par défaut
    oui dans le même dossier pel de l'arborescence.

    Nom : chemin1.png
Affichages : 20
Taille : 13,3 Ko

    Merci pour toutes tes observations. J'ai testé sans intégrer le template et cela ça marche.
    Je dois chercher l'element qui ne marche pas dans mon template pour le corrige.
    Nom : Selection Personnel_ok.png
Affichages : 20
Taille : 28,9 Ko

    Je peux maintenant poursuivre mon apprentissage.
    Images attachées Images attachées  

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/05/2009, 19h04
  2. probleme de zones reactives ne marche pas sur un poste
    Par zabdaniel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 11/06/2008, 17h40
  3. [Tkinter] Probleme de Bind clavier : marche pas :(
    Par topzozo dans le forum Tkinter
    Réponses: 2
    Dernier message: 27/05/2007, 03h17
  4. [Mysql 5.0.22] Probleme jointure externe; ne marche pas ?
    Par Floweract dans le forum Langage SQL
    Réponses: 5
    Dernier message: 01/11/2006, 13h17
  5. Problem variable (Cette ligne ne marche pas sous FF)
    Par Death83 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 08/09/2005, 18h52

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