我正在使用 jsf 和 primefaces 开发 Web 应用程序。
我的导航栏代码如下:
<p:layoutUnit position="north" >
<h:form>
<img src="resources/images/logo.png" alt="" />
<p:outputLabel value="Rechercher " style="font-size: large"/>
<p:inputText value="#{acount.searchWord}" required="true" requiredMessage="Le titre est requit"/>
<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"/>
<h:link outcome="Contact.xhtml" value="Contact" style="font-size: medium"/>
<h:link outcome="Info.xhtml" value="Info" style="font-size: medium"/>
<h:link outcome="Login.xhtml" value="Login" style="font-size: medium" rendered="#{!acount.connected}" />
<h:link outcome="exe.xhtml" value="S'enregistrer" style="font-size: medium" rendered="#{!acount.connected}" />
<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>
这段代码的图像是:
问题是,如果我不在输入文本中放置任何内容,则不会执行命令按钮的操作,如果我不在输入文本中放置任何内容,则不会执行菜单按钮中的操作方法。
我可以通过为每个操作方法放置一个表单来解决这个问题,但我的导航栏变大了,看起来很值得。
我该如何解决这个问题?
最佳答案
如果您不需要通过 commandButton 向 bean 发送任何值,则将 process 属性添加到 commandButton。我认为您试图将一些输入留空并仍然发送请求,但问题是其中一个输入的必需属性设置为“true”。从您的输入中删除必需的属性并将 process="@this"添加到您的命令按钮。我希望我是对的。
关于html - 命令按钮操作方法未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24481930/