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 :

Affichage popup avant bean initialisé


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Par défaut Affichage popup avant bean initialisé
    Bonjour,

    je me bat depuis une semaine pour trouver une solution a mon probleme mais rien a y faire.

    Je dipose d'une page xhtml contenant une dataTable. Pour chaque ligne de cette dataTable, j'inclus un lien pour afficher un popup qui récapitule les certaines informations :

    table.xhtml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <rich:column>
         <a4j:commandLink onclick="if(! isNotDblClick(this.id)) {return false;}" 
                                    onmouseover="window.latestClick = null">
                     <rich:componentControl for="popup" event="oncomplete" operation="show" />
                      <f:setPropertyActionListener value="#{commission}" target="#{selectedEvent.event}"/>
                   </a4j:commandLink>
    </rich:column>
    cela ouvre donc mon popup qui celui ci contient 4 include :

    popup.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
    <?xml version="1.0" encoding="iso-8859-1" ?>
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:ui="http://java.sun.com/jsf/facelets"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:a4j="http://richfaces.org/a4j"
    	xmlns:rich="http://richfaces.org/rich"
    	xmlns:sco="http://com.groupama/secoia/components"
    	xmlns:sfu="http://com.groupama/secoia/functions">
    <f:view>
    	<h:form>
    		<ui:composition>
    			<h:panelGrid width="820px" columns="2">
    				<ui:include src="zone1.xhtml" />
    				<ui:include src="zone2.xhtml" />
     
    				<ui:include src="zone3.xhtml" />
    				<ui:include src="zone4.xhtml" />
    			</h:panelGrid>
    		</ui:composition>
    	</h:form>
    </f:view>
    </html>
    Dans zone1.xhtml j'affiche les valeurs de mon bean

    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
    <?xml version="1.0" encoding="iso-8859-1" ?>
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:ui="http://java.sun.com/jsf/facelets"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:a4j="http://richfaces.org/a4j"
    	xmlns:rich="http://richfaces.org/rich"
    	xmlns:sco="http://com.groupama/secoia/components"
    	xmlns:sfu="http://com.groupama/secoia/functions">
    <f:view>
    	<h:form>
    		<ui:composition>
    			<h:panelGrid columns="1" width="400px">
    				<h:panelGrid width="100%">
    					 <h:panelGrid columns="2">
     
    						<h:outputText value="#{com.eventDetails.info1}"/>
    						<h:outputText value="#{com.eventDetails.info2}"/>
    					</h:panelGrid>
    				</h:panelGrid>
    		</ui:composition>
    	</h:form>
    </f:view>
    </html>
    quand je test mon application j'ai un nullPointerException qui apparait sur info2 alors que celui ci est remplis correctement !!

    J'ai donc l'impression que mon bean n'a pas eu le temps d'etre construit alors que l'affichage a déjà été fait. Y a-t-il un moyen pour demander l'affichage une fois que le bean a été construit?

    Après quelques recherches sur internet, j'ai pu constater que le composant rich:componentControl pouvait poser probleme. J'ai tenté des parades avec affichTiming="onload"/"onavailable" mais rien y fait.

    Si quelqu'un a une idée de comment résoudre le probleme...

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Déjà, il va falloir corriger tes pages. Ta popup définit un formulaire, puis elle va inclure 4 autres pages. L'une d'elle (celle que tu montres, mais sans doute est-ce la même chose sur les autres), redéfinissent des formulaires. Au final, tu te retrouves avec des formulaires dans des formulaires, ce qu'il faut absolument éviter !

    Ensuite, je ne vois aucun code de popup, juste son appel (dans la dataTable). Où est-elle ?

    Enfin, quand tu écris <h:outputText value="#{com.eventDetails.info1}"/>, JSF va chercher un bean définit par l'ID com, puis va faire leBean.getEventDetails.getInfo1();.

    Je dois que ce soit ce que tu cherches à faire. Regarde dans la FAQ comment on définit un bean si besoin...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

Discussions similaires

  1. affichage popup avant fermeture d'une fenetre par la croix
    Par djolof dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 05/10/2009, 18h57
  2. [EL] affichage d'un bean avec EL
    Par robert_trudel dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/09/2006, 22h11
  3. problème affichage popup
    Par ph_anrys dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/05/2006, 15h49
  4. affichage zero avant la virgule
    Par aline dans le forum Oracle
    Réponses: 7
    Dernier message: 21/12/2004, 12h19
  5. [STRUTS] [JAVA] Affichage conditionnel de bean:write
    Par babylone7 dans le forum Struts 1
    Réponses: 6
    Dernier message: 29/04/2004, 16h20

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