2014-06-30 4 views
0

Je travaille dans une application Web avec jsf et les primitives.Méthode d'action commandButton non exécutée

Mon code pour la barre de navigation se présente comme suit:

<p:layoutUnit position="north" > 
       <h:form> 
        <img src="resources/images/logo.png" alt="" />&nbsp;&nbsp;&nbsp; 
        <p:outputLabel value="Rechercher " style="font-size: large"/> &nbsp;&nbsp;&nbsp; 
        <p:inputText value="#{acount.searchWord}" required="true" requiredMessage="Le titre est requit"/>&nbsp;&nbsp;&nbsp; 
        <p:commandButton value="Go" action="#{acount.rechercherLivre(acount.searchWord)}" styleClass="btngo" /> 
        <h:link outcome="main.xhtml" value="Accueil" style="margin-left: 400px;font-size: medium"/>&nbsp;&nbsp; 
        <h:link outcome="Contact.xhtml" value="Contact" style="font-size: medium"/>&nbsp;&nbsp; 
        <h:link outcome="Info.xhtml" value="Info" style="font-size: medium"/>&nbsp;&nbsp;&nbsp; 
        <h:link outcome="Login.xhtml" value="Login" style="font-size: medium" rendered="#{!acount.connected}" /> &nbsp;&nbsp; 
        <h:link outcome="exe.xhtml" value="S'enregistrer" style="font-size: medium" rendered="#{!acount.connected}" /> &nbsp;&nbsp; 

        <p:menuButton value="Panier #{shopingCart.produits.size()}" style="color: #045491;background: greenyellow;background-color: yellowgreen;font-size: medium"> 
         <p:menuitem value="Afficher" action="#{shopingCart.afficherPanier()}"/> 
         <p:separator /> 
         <p:menuitem value="Homepage" url="http://www.primefaces.org" /> 
        </p:menuButton> 
        <p:menuButton value="Options" rendered="#{acount.connected}" style="color: #045491;background: greenyellow;background-color: yellowgreen;font-size: medium"> 
         <p:menuitem value="Compte" /> 
         <p:menuitem value="Mes Commandes " /> 
         <p:menuitem value="Se deconnecter" action="#{acount.doLogout()}" /> 
         <p:separator /> 
         <p:menuitem value="Homepage" url="http://www.primefaces.org" /> 
        </p:menuButton> 
       </h:form> 
      </p:layoutUnit> 

Et l'image pour ce code est:

enter image description here

Le problème est que si je ne mets rien dans le imput texte l'action pour le commandButton n'est pas exécutée, aussi la méthode d'action dans le menuButton n'est pas exécutée si je ne mets pas quelque chose dans l'inputText.

Je peux résoudre ce problème en mettant un formulaire pour chaque méthode d'action mais ma barre de navigation est devenue plus grande et elle semble valoir le coup.

comment puis-je résoudre ce problème?

+1

'required =" true "requiredMessage =" Le titre est requit "' n'est-ce pas assez explicite? –

+0

Merci, je n'ai pas fait attention car le message n'a jamais été posté. – user3521250

+0

J'ai une autre question si vous pouvez m'aider, pour la fonction de recherche, je viens d'implémenter une fonction de sous-chaîne, je veux une fonction avec plus de possibilité de recherche, car si l'utilisateur oublie un alphabet, il n'y aura pas de résultat. et c'est mauvais – user3521250

Répondre

1

Si vous n'avez pas besoin d'envoyer une valeur à votre bean par votre commandButton, ajoutez l'attribut de processus au commandButton. Je pense que vous essayez de laisser certaines entrées vides et envoyez toujours la demande, mais le problème est que l'un d'eux a l'attribut requis défini sur 'true'. Supprimez l'attribut requis de vos entrées et ajoutez process = "@ this" à votre commandButton. J'espère avoir raison.

Questions connexes