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 :

probleme h:commandButton et h:form


Sujet :

JSF Java

  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Par défaut probleme h:commandButton et h:form
    j'une une page jsf qui contient 2 <h:form>
    • 1er <h:form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <h:form>
    		<rich:tree switchType="client" value="#{library.data}" var="item"
    			nodeFace="#{item.type}">
    			...
     
    		<h:commandButton value="hh" action="#{mBeanInfoFactory.hello}"/>
    				...
    		</rich:tree>
    	</h:form>
     
    le 2eme form contient aussi le meme commandbutton <h:commandButton value="hh" action="#{mBeanInfoFactory.hello}"/>
    mon probleme est que le bouton du 1er form execute la methode hello du bean mBeanInfoFactory alors que le second bouton ne fait rien.
    ou est le probleme?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Par défaut
    Normalement il n ya pas de problème, tu peut nous montrer le code complet !

  3. #3
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    PS: Merci de mettre le code entre balise [CODE] (#). pas en gras.

  4. #4
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Par défaut voici le code de la page jsf
    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
    <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%@taglib uri="http://richfaces.org/a4j" prefix="a4j" %>
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="/CSS/styles.css">
    <title></title>
    </head>
    <body>
    <f:view>
    	<div id="entete">entete</div>
    
    	<div id="menu"><h:form>
    		<rich:tree switchType="client" value="#{library.data}" var="item"
    			nodeFace="#{item.type}">
    			<rich:treeNode type="dd" iconLeaf="/images/domain.gif"
    				icon="/images/singer.gif">
    				<h:outputText value="#{item.nomDomain}" />
    			</rich:treeNode>
    			<rich:treeNode type="mmm" iconLeaf="/images/mbean.gif"
    				nodeSelectListener="#{mBeanInfoFactory.processSelection}"
    				 ajaxSubmitSelection="true" 
    				icon="/images/singer.gif">
    
    				<!--<h:outputText value="#{item.nomMBean}" />-->
    				<h:commandLink action="#{mBeanInfoFactory.mBeanInfo}" value="#{item.nomBean}" />
    					<h:commandButton value="hh" action="#{mBeanInfoFactory.hello}"/>
    				</rich:treeNode>
    		</rich:tree>
    	</h:form></div>
    	
    	<div id="contenu">
    	<h:form>
    	<rich:tabPanel switchType="client" style=" width : 1px; height : 131px;">
    		<rich:tab label="tab1">
               <h:form>
    				<h:dataTable value="#{mBeanInfoFactory.listOperations}" 
    					var="monManagedBean1" border="1">
    					<h:column>
    						<f:facet name="header">
    							<f:verbatim>retour</f:verbatim>
    						</f:facet>
    						<h:outputText value="#{monManagedBean1.returnType}" />
    					</h:column>
    					<h:column>
    						<f:facet name="header">
    							<f:verbatim>nomOperation</f:verbatim>
    					</f:facet>
    					<h:commandButton value="#{monManagedBean1.name}" action="#{mBeanInfoFactory.hello}"/>
    					</h:column>
    					<h:column>
    						<f:facet name="header">
    							<f:verbatim>parametres</f:verbatim>
    							
    						</f:facet>
    						<h:dataTable value="#{mBeanInfoFactory.listOperations}"  var="mBeanParameterInfo" >
    							<h:column><h:outputText value="#{mBeanParameterInfo.name}"/>
    							<h:inputText value="" />
    							</h:column>
    							</h:dataTable>
    						
    						
    					</h:column>
    				</h:dataTable>
    			</h:form>
            </rich:tab>
    	
    		<rich:tab label="tab2">
                
            </rich:tab>
    		<rich:tab label="Info">
                Info
            </rich:tab>
    	</rich:tabPanel></h:form></div>
    	<div id="pied_page"><h:outputText /> </div>
    </f:view>
    </body>
    </html>
    le code en gras dans le premier form est executé alors que dans le second il ne l'est pas

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    je vois que tu fais une itération sur #{mBeanInfoFactory.listOperations}

    cette list est elle toujours bien pleine lorsque tu soumet la requete? En effet, si les données sont request scope et qu'elle sont vie après la requete, il sera impossible, lorsque tu clique sur le bouton, pour jsf de retrouver l'élément sur lequel tu a cliqué (en l'occurence, 2 ème colonne troisième ligne de la datatable) si la datatable est vide. Tu peux aussi rajouter un <h:messages/> dans ton forumlaire pour voir les erreur éventuelles de validation (mais comme pas de inputText présent, j'ai un doute sur les erreurs de validations)

  6. #6
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Par défaut
    listOperation contient toujours des données.je ne pense pas que le problème vient de là.

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Tu peux nous montrer le code de cette méthode? Peux-tu aussi rajouter dedans un message de log disant la taille de la collection retournée et nous dire si cette valeur change au cours du temps?

    As-tu ajouté un h:messages dans ta page pour capter les erreurs de validation?

  8. #8
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    ajouter ceci dans ta page:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <h:messages styleClass="message"/>
    le boutton semble correcte mais je pense que le probème provient de la datatable

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <h:form>
    	<rich:tabPanel switchType="client" style=" width : 1px; height : 131px;">
    		<rich:tab label="tab1">
               <h:form>

    ton problème c'est que tu as 2 balises form l'une dans l'autre, ça ne marchera pas, une seule suffit.

Discussions similaires

  1. [vc++ express]probleme de lancer une 2eme form
    Par k_boy dans le forum VC++ .NET
    Réponses: 6
    Dernier message: 04/09/2006, 02h38
  2. [VBA-E] Probleme avec Nombre stocké sous forme de texte
    Par AliochaBada dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/07/2006, 01h46
  3. [VB6]Probleme de rafraichissement d'une FORM
    Par Angath dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/05/2006, 19h13
  4. Problème de lien sous la forme href file
    Par mussara dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 11/05/2006, 15h03
  5. Probleme de redirection dans le form
    Par leloup84 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 07/02/2006, 14h09

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