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 de comprehension fonctionnement JSF


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 23
    Points
    23
    Par défaut problème de comprehension fonctionnement JSF
    Bonjour à tous,

    J'utilise PrimeFaces comme framework et je développe sous eclipse serveur tomcat.

    Ce que je ne comprend pas c'est que ds ma page xhtml je fais apelle à une méthode de mon managedbean ds un p:commanbutton

    et que systématiquement à l'ouverture de ma page il lance cette méthode ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <p:commandLink  action="#{gererProfilMng.ajouterProfil()}">  
                <p:graphicImage  value="/resources/images/Ajouter.gif" height="15px" /> 
     
     
            </p:commandLink >
    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
     
    @ManagedBean
    @ViewScoped
    public class GererProfilMng {
     
    	/**
             * 
             */
     
    	private ProfilIHM profilIHM;
    	private List<ProfilIHM> profilList;
    	private GererProfilWS transform;
    	@ManagedProperty(value="#{authentifierMng}")
    	private AuthentifierMng authentifierMng;
     
     
    	public GererProfilMng(){
    		profilIHM = new ProfilIHM();
    		transform = new GererProfilWS();
    		profilList = new ArrayList<ProfilIHM>();
     
    	}
     
    public void ajouterProfil(){
     
    	UtilisateurDTO utilisateurDTO = new UtilisateurDTO();
    	utilisateurDTO.setAdresseMail(authentifierMng.getUtilisateurSessionFinal().getAdresseMail());
    	utilisateurDTO.setMdp(authentifierMng.getUtilisateurSessionFinal().getMotDePasse());
     
    	utilisateurDTO.setCentreCode(authentifierMng.getUtilisateurSessionFinal().getCentreActuel().getCode());
    	ProfilDTO profilDTO = new ProfilDTO();
    	profilDTO.setLibelleCourt(profilIHM.getLibelleCourt());
    	profilDTO.setLibelleLong(profilIHM.getLibelleLong());
     
    	try {
    		transform.transformeCreerProfil(utilisateurDTO, profilDTO);
    	} catch (RemoteException e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	}
     
     
    }
    Qu'est ce que je n'ai pas compris ds le fonctionnement JSF ?
    Et comment je peux empécher ça ?

    d'avance merci


    EDIT: j'ai modifié le onclic sur le commandlink par action maintenant il ne charge plus la méthode au chargement de la page mais quand je clique dessus rien ne se passe....

  2. #2
    Membre actif Avatar de fastdeath124
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Août 2011
    Messages : 117
    Points : 200
    Points
    200
    Par défaut
    J'ai remarqué que la méthode ajouterProfil ne prend rien en paramètre d'entrée dans le ManagedBean, alors que l'appel a été fait avec un paramètre.
    De plus, cette méthode doit retourner un String, et selon la valeur de retour, la redirection se fait (la redirection est déclarée dans le fichier de configuration faces-config.xml au niveau des balises navigation-rule).
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <navigation-rule>
      <from-view-id>/jsp/MaPageInitiale.jsp</from-view-id>
      <navigation-case>
      <from-outcome>success</from-outcome>
      <to-view-id>/jsp/page1.jsp</to-view-id>
      </navigation-case>
      <navigation-case>
      <from-outcome>failure</from-outcome>
      <to-view-id>/jsp/page2.jsp</to-view-id>
      </navigation-case>
    </navigation-rule>
    Dans cet exemple, la méthode doit retourner "success" ou "failure".

  3. #3
    Membre à l'essai
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par fastdeath124 Voir le message
    J'ai remarqué que la méthode ajouterProfil ne prend rien en paramètre d'entrée dans le ManagedBean, alors que l'appel a été fait avec un paramètre.
    De plus, cette méthode doit retourner un String, et selon la valeur de retour, la redirection se fait (la redirection est déclarée dans le fichier de configuration faces-config.xml au niveau des balises navigation-rule).
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <navigation-rule>
      <from-view-id>/jsp/MaPageInitiale.jsp</from-view-id>
      <navigation-case>
      <from-outcome>success</from-outcome>
      <to-view-id>/jsp/page1.jsp</to-view-id>
      </navigation-case>
      <navigation-case>
      <from-outcome>failure</from-outcome>
      <to-view-id>/jsp/page2.jsp</to-view-id>
      </navigation-case>
    </navigation-rule>
    Dans cet exemple, la méthode doit retourner "success" ou "failure".
    oui effectivement mais en fait il n'y a rien en paramètre c'est à la suite de nombreux que j'ai laissé ce paramétre je l'enléve de suite

    mais cela ne change rien sur le fait que lorsque que je clique sur le bouton rien ne se passe il ne passe pas ds la méthode. test fait avec point d'arret en mode debug...

    En tout cas merci pour la réponse

  4. #4
    Membre chevronné
    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
    Points : 2 112
    Points
    2 112
    Par défaut
    Bonjour ,

    est-ce que l'import de @ManagedBean est correct ? (javax.faces.ManagedBean) ?

    si c'est une "action", alors ta méthode doit retourner une String,
    sinon, c'est un "actionListener" et donc il faut utiliser l'attribut "actionListener" au lieu de "action".

    Tu peux combiner actionListener et action dans le même tag JSF, l'action n'étant déclenché que si l'actionListener se passe bien.

    Si tu ne mets pas d'action, alors il restera sur la page, et en mode AJAX, donc il faut que tu fasses attention à bien rafraîchir (update).

  5. #5
    Membre à l'essai
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par fxrobin Voir le message
    Bonjour ,

    est-ce que l'import de @ManagedBean est correct ? (javax.faces.ManagedBean) ?

    si c'est une "action", alors ta méthode doit retourner une String,
    sinon, c'est un "actionListener" et donc il faut utiliser l'attribut "actionListener" au lieu de "action".

    Tu peux combiner actionListener et action dans le même tag JSF, l'action n'étant déclenché que si l'actionListener se passe bien.

    Si tu ne mets pas d'action, alors il restera sur la page, et en mode AJAX, donc il faut que tu fasses attention à bien rafraîchir (update).
    Salut ,

    Alors effectivement après avoir cherché un peu je suis passé en ActionListener.

    J'ai trouvé une bonne piste j'avais oublié de préciser que mon bouton se trouve dans un p:dialog...en fait si je le copie-colle sur la page principal il fonctionne très bien mais il ne fait absolument rien ds le p:dialog

    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
     
    <p:dialog widgetVar="nouveauProfil" modal="true"  appendToBody="true" closable="false" resizable="false">
    		<h:form>
    		<p:panel>
    		<h:panelGrid columns="2" style="border-style:none" cellspacing="10">
    		<h:outputLabel value="#{msg['lib.libelle']}" />
    		<p:inputText value="#{gererProfilMng.profilIHM.libelleCourt}"></p:inputText>
    		<h:outputLabel value="#{msg['libelle.libelle']}" />
    		<p:inputText value="#{gererProfilMng.profilIHM.libelleLong}"></p:inputText>
     
     
    		<p:commandButton value="test" actionListener="#{gererProfilMng.ajouterProfil()}" oncomplete="nouveauProfil.hide()">  
            </p:commandButton >
     
            <p:commandLink onclick="nouveauProfil.hide()">  
                <p:graphicImage  value="/resources/images/Annuler.gif" height="15px" /> 
     
     
            </p:commandLink> 
    		</h:panelGrid> 
    		</p:panel>
     
     
    		</h:form>
    		</p:dialog>
    est-ce que ça peu être du au balise form ou un truc du genre ?

    Ce qui est génial c'est qu'il m'exécute le onComplete alors qu'il ne passe même pas ds la méthode ...

  6. #6
    Membre chevronné
    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
    Points : 2 112
    Points
    2 112
    Par défaut
    Tu veux qu'il ferme ton p:dialog ?
    est-ce que le p:commandButton est bien dans son propre formulaire ? (c'est plus pratique).

    si il n'est pas dans son propre formulaire, il doit bloquer en phase de validation sur les autres données (invalide) du formulaire, il faut donc que tu indiques explicitement quels sont les "champs" à traiter avec l'attribut "process".


    Je te recommande de faire un h:form spécifiquement pour le p:dialog et de ne pas faire d'imbrication de h:form

  7. #7
    Membre chevronné
    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
    Points : 2 112
    Points
    2 112
    Par défaut
    je vois "appendToBody" à true en haut.
    Tu utilises les p:layout dans tes templates ? si ce n'est pas le cas, ne mets pas appendToBody
    donne aussi un id à ton p:dialog ... ça ne lui fera pas de mal ainsi qu'à ton sous-formulaire

  8. #8
    Membre chevronné
    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
    Points : 2 112
    Points
    2 112
    Par défaut
    enfin le "oncomplete" s'execute quelque soit la réponse AJAX, donc normal qu'il se lance. Essaye plutôt avec "onsuccess"

    Il existe "onsuccess", "onerror", "onstart". Regarde la doc

  9. #9
    Membre à l'essai
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 23
    Points
    23
    Par défaut
    Voila mon template qui utilise des p:layout :

    Au début les h:form encapsulaient le div "content" maintenant je les ai mis ds la page pour pouvoir avoir 2 form distinct

    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html 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">
    <h:head>
    	<meta http-equiv="Content-Type" content="8" />
    	<h:outputStylesheet library="css" name="default.css" />
     
    	<title>Facelets Template</title>
    </h:head>
     
     
     
     
     
     
    <h:body>
     
    	<p:layout fullPage="true" style="border-style:none;" id="template">
     
    		<p:layoutUnit position="north" size="24%" resizable="false"
    			closable="false" collapsible="true"
    			style="border-style:none;overflow:visible;">
     
    			<p:layout style="width: 100%" id="layout">
    				<h:form>
    					<p:layoutUnit position="north" resizable="false"
    						style="border-style:none">
     
    						<p:toolbar>
    							<p:toolbarGroup align="left">
    								<h:outputLabel id="affentre"
    									value="Bonjour #{authentifierMng.utilisateurSessionFinal.adresseMail} vous êtes connecté au centre:">
    								</h:outputLabel>
    								<br />
    								<h:outputLabel id="affcentre"
    									value="#{authentifierMng.utilisateurSessionFinal.centreActuel.libelle}">
    								</h:outputLabel>
    							</p:toolbarGroup>
    							<p:toolbarGroup align="right">
    								<h:outputLabel value="Changez de centre:     "
    									style="vertical-align:bottom;" />
    								<p:selectOneMenu
    									value="#{authentifierMng.utilisateurSessionFinal.centreActuel.libelle}"
    									effect="fade" onchange="" style="width:200px;">
    									<f:selectItem itemLabel="Liste des centres autorisés"
    										itemValue="" />
    									<f:selectItems
    										value="#{authentifierMng.utilisateurSessionFinal.listCentreActif}"
    										var="test" itemLabel="#{test.libelle}" />
    									<p:ajax update="menu,affcentre" />
    								</p:selectOneMenu>
    							</p:toolbarGroup>
    						</p:toolbar>
     
    					</p:layoutUnit>
    					<p:layoutUnit position="west" resizable="false"
    						style="border-style:none;width:40%">
     
    						<p:graphicImage width="100%" value="/resources/images/sagaie.png" />
     
    					</p:layoutUnit>
     
    					<p:layoutUnit position="center"
    						style="width:100%;border-style:none">
     
    						<p:scrollPanel
    							style="width:100%;height:100%;margin-top:-12px;border-style:none">
     
    							<p:dataList value="#{visualiserMessageMng.messageList}"
    								var="message" style="border-style:none"
    								styleClass=".ui-datalist-item" itemType="disc" rows="3">
             		#{message.commentaire}
                    </p:dataList>
     
    						</p:scrollPanel>
     
    					</p:layoutUnit>
    					<p:layoutUnit position="east" style="border-style:none;width:25%">
     
    						<p:graphicImage width="30%" value="/resources/images/drhat.png" />
    						<p:graphicImage width="70%" value="/resources/images/armee_1.png" />
     
    					</p:layoutUnit>
    					<p:layoutUnit position="south"
    						style="border-style:none;overflow:visible;">
     
    						<p:megaMenu id="menu" style="margin-top:-15px">
    							<p:submenu label="Stage">
    								<p:column>
    									<p:submenu label="Créer">
    										<p:menuitem value="Accueil" url="/faces/pages/acceuil.xhtml" />
    										<p:menuitem value="Création Stagiaire"
    											url="/faces/pages/creationStagiaire.xhtml" />
    									</p:submenu>
    									<p:submenu label="Modifier">
    										<p:menuitem value="test login"
    											rendered="#{authentifierMng.afficherMenu()}"
    											url="/faces/pages/index.xhtml" />
    										<p:menuitem value="armée" url="/faces/pages/index.xhtml" />
    									</p:submenu>
    									<p:submenu label="Utilisateur">
    										<p:menuitem value="gerer Utilisateur"
    											url="/faces/pages/utilisateur/gererUtilisateur.xhtml" />
    									</p:submenu>
    								</p:column>
     
     
     
    							</p:submenu>
    							<p:submenu label="Référence">
    								<p:column>
    									<p:submenu label="Référence">
    										<p:menuitem value="armée"
    											url="/faces/pages/windowlistearmee.xhtml" />
     
    									</p:submenu>
     
    								</p:column>
     
     
     
    							</p:submenu>
    							<p:submenu label="Administration">
    								<p:column>
    									<p:submenu label="Administration">
    										<p:menuitem value="Gestion des profils"
    											url="/faces/pages/utilisateur/gererProfil.xhtml" />
     
    									</p:submenu>
    								</p:column>
    							</p:submenu>
     
    						</p:megaMenu>
     
     
    					</p:layoutUnit>
    				</h:form>
    			</p:layout>
     
    		</p:layoutUnit>
     
     
     
    		<p:layoutUnit position="west" size="240" header="Organigramme"
    			resizable="true" closable="false" collapsible="true">
    			<h:form>
    				<div id="west" class="west_content">
    					<ui:insert name="west">
    						<p:tree
    							value="#{visualiserArborescenceOrganisationMng.noeudRacine}"
    							style="width:90%;height: 100%" var="node" id="tree">
    							<p:treeNode id="treeNode">
    								<h:outputText value="#{node}" id="lblNode" />
    							</p:treeNode>
    						</p:tree>
     
     
    					</ui:insert>
    				</div>
    			</h:form>
    		</p:layoutUnit>
     
    		<p:layoutUnit id="center" position="center" size="600px"
    			style="border-style:none">
     
    			<div id="content" class="center_content">
    				<ui:insert name="content">Content</ui:insert>
    			</div>
     
    		</p:layoutUnit>
     
    	</p:layout>
     
     
    </h:body>
    </html>
    et voici la page :
    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <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"
    	xmlns:c="http://java.sun.com/jsp/jstl/core"
    	template="./../../WEB-INF/template/template.xhtml">
     
     
     
    	<ui:define name="content">
    		<h:form id="form">
     
    			<p:panel header="Gestion des profils">
     
     
    				<br />
     
    				<p:commandLink onclick="nouveauProfil.show()">
    					<p:graphicImage value="/resources/images/nouveau.gif" height="15px" />
     
     
    				</p:commandLink>
     
    				<h:commandLink style="position:relative;right:-85%;">
    					<p:graphicImage value="/resources/images/excel.png" />
     
    					<p:dataExporter type="xls" target="individus"
    						fileName="Listeindividus" pageOnly="false" />
    				</h:commandLink>
     
    				<br />
     
     
    				<p:dataTable id="profils" var="profil" draggableColumns="true"
    					value="#{gererProfilMng.profilList}"
    					rowStyleClass=".ui-datatable .ui-datatable-data tr"
    					paginator="true" style="width:99%" rowsPerPageTemplate="10,50,100"
    					paginatorPosition="bottom" paginatorAlwaysVisible="true">
    					<p:column style="width:4%" exportable="false">
     
     
    					</p:column>
    					<p:column headerText="#{msg['code.libelle']}"
    						filterBy="#{profil.profilCode}">
    						<h:outputText value="#{profil.profilCode}" />
    					</p:column>
     
    					<p:column headerText="#{msg['lib.libelle']}"
    						filterBy="#{profil.libelleCourt}">
    						<h:outputText value="#{profil.libelleCourt}" />
    					</p:column>
     
    					<p:column headerText="#{msg['libelle.libelle']}"
    						filterBy="#{profil.libelleLong}">
    						<h:outputText value="#{profil.libelleLong}" />
    					</p:column>
     
     
     
    				</p:dataTable>
     
     
    				<p:commandButton value="testBis"
    					action="#{gererProfilMng.ajouterProfil()}">
     
     
     
    				</p:commandButton>
     
    			</p:panel>
     
     
    		</h:form>
     
    		<p:dialog widgetVar="nouveauProfil" modal="true" appendToBody="true"
    			closable="false" resizable="false">
    			<h:form>
    				<p:panel>
    					<h:panelGrid columns="2" style="border-style:none" cellspacing="10">
    						<h:outputLabel value="#{msg['lib.libelle']}" />
    						<p:inputText id="court"
    							value="#{gererProfilMng.profilIHM.libelleCourt}"></p:inputText>
    						<h:outputLabel value="#{msg['libelle.libelle']}" />
    						<p:inputText id="long"
    							value="#{gererProfilMng.profilIHM.libelleLong}"></p:inputText>
     
     
    						<p:commandButton value="test" 			actionListener="#{gererProfilMng.ajouterProfil()}"
    							oncomplete="nouveauProfil.hide()">
    						</p:commandButton>
     
    						<p:commandLink onclick="nouveauProfil.hide()">
    							<p:graphicImage value="/resources/images/Annuler.gif"
    								height="15px" />
     
     
    						</p:commandLink>
    					</h:panelGrid>
    				</p:panel>
    			</h:form>
     
     
    		</p:dialog>
    	</ui:define>
    </ui:composition>

  10. #10
    Membre à l'essai
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par fxrobin Voir le message
    enfin le "oncomplete" s'execute quelque soit la réponse AJAX, donc normal qu'il se lance. Essaye plutôt avec "onsuccess"

    Il existe "onsuccess", "onerror", "onstart". Regarde la doc
    oui je connaissais les autres mais je n'y avais pas pensé merci

  11. #11
    Membre chevronné
    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
    Points : 2 112
    Points
    2 112
    Par défaut
    et c'est bien "javax.faces.ManagedBean" ton import ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    template="./../../WEB-INF/template/template.xhtml"
    utilises plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    template="/WEB-INF/template/template.xhtml"

  12. #12
    Membre à l'essai
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 23
    Points
    23
    Par défaut
    effectivement problème de h:form

    il en faut un pour le p:dialog et il ne faut pas les imbriquer

    merci

  13. #13
    Membre chevronné
    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
    Points : 2 112
    Points
    2 112
    Par défaut
    Citation Envoyé par luperrot Voir le message
    effectivement problème de h:form

    il en faut un pour le p:dialog et il ne faut pas les imbriquer

    merci
    ou alors il leur aurait fallu des id pour chacun et le préciser en "process" sur ton bouton. Mais c'est plus clair avec 2 forms non imbriqué, je trouve.

    Oublie pas de passer à "Résolu", si ça l'est

    A+

    PS : les nouveaux niveaux 3 sont arrivés ... ils vont "manger"

  14. #14
    Membre à l'essai
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par fxrobin Voir le message
    et c'est bien "javax.faces.ManagedBean" ton import ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    template="./../../WEB-INF/template/template.xhtml"
    utilises plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    template="/WEB-INF/template/template.xhtml"
    oui oui ça c'est bon c'était vraiment c'est de h:form auquel je ne comprend rien (bon ça commence à venir...)

    et effectivement /web-inf c'est mieux

    merci bcp

  15. #15
    Membre chevronné
    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
    Points : 2 112
    Points
    2 112
    Par défaut
    Citation Envoyé par luperrot Voir le message
    merci bcp
    Bah de rien, c'est un peu le "service après vente"

  16. #16
    Membre à l'essai
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par fxrobin Voir le message
    Bah de rien, c'est un peu le "service après vente"
    lol en parlant de service après vente je vais avoir besoin très prochainement d'utiliser les tree.

    Alors pour le visu pas de souci mais je voudrai pouvoir déplacer des élément au sein de l'arbre quelque soit le niveau et pour l'instant je n'ai rien trouvé qui le permette. c'est a priori en natif chez richfaces mais pas sur prime.

    tu as des pistes la dessus ??

  17. #17
    Membre chevronné
    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
    Points : 2 112
    Points
    2 112
    Par défaut
    Citation Envoyé par luperrot Voir le message
    tu as des pistes la dessus ??
    Non, jamais fait ... mais j'peux regarder.
    Même si ce n'est pas natif, je crois qu'il y a tout pour le faire.

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

Discussions similaires

  1. probléme flashVar ne fonctionne pas
    Par Invité dans le forum Flash
    Réponses: 0
    Dernier message: 14/08/2008, 00h34
  2. Problème avec UPDATE EJB + JSF
    Par GeantBioHazard dans le forum JSF
    Réponses: 8
    Dernier message: 19/02/2008, 13h34
  3. Problème pour faire fonctionner OpenVpn.
    Par pcsystemd dans le forum Administration système
    Réponses: 1
    Dernier message: 29/08/2007, 00h27
  4. Réponses: 1
    Dernier message: 03/08/2007, 10h09
  5. [Cookies] problème de comprehension-sessions
    Par fk04 dans le forum Langage
    Réponses: 3
    Dernier message: 06/06/2006, 21h09

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