Java Primefaces/JSF按钮';的操作处理程序将不会触发相关bean';s法

Java Primefaces/JSF按钮';的操作处理程序将不会触发相关bean';s法,java,jsf,jsf-2,primefaces,Java,Jsf,Jsf 2,Primefaces,我对使用Primefaces框架非常陌生 我的问题是,如果用户单击按钮,我想调用bean方法,但该方法不会被触发。 尽管如此,IntelliJ自动完成了这个方法,我使用bean作为另一个控件的项源,这是可行的 部分Index.htmlx <h:form id="newLunch"> <h:panelGrid columns="2" style="width: 300px;"> <h:outputLabel for="initiator" va

我对使用Primefaces框架非常陌生

我的问题是,如果用户单击按钮,我想调用bean方法,但该方法不会被触发。 尽管如此,IntelliJ自动完成了这个方法,我使用bean作为另一个控件的项源,这是可行的

部分Index.htmlx

<h:form id="newLunch">
    <h:panelGrid columns="2" style="width: 300px;">
        <h:outputLabel for="initiator" value="Initiator" />
        <p:inputText id="initiator" />

        ...

        <p:button value="save" actionListener="#{indexBean.onSaveLunch}" />
    </h:panelGrid>
</h:form>
谢谢你支持一个新手

    <p:button value="save" actionListener="#{indexBean.onSaveLunch}" />


记住导入javax.faces.event.ActionEvent您应该使用正确的组件和属性。通过
更改
,并使用
操作
而不是
操作侦听器


如果这不起作用,那么代码中还有一个问题没有显示出来。为此,请使用您当前的代码更新问题,或从此处检查原因:

更多信息:


感谢您的快速回复。我以前试过这个,但效果不太好。几秒钟前我刚刚重新测试过。在我看来,这是一种奇怪的行为。我知道,这是我的错。在我的IDE的输出窗口中,我每次单击按钮都会看到以下行:
127.0.0.1---[18/May/2014:14:30:57+0000]“POST/base/index.xhtml HTTP/1.1”200 210http://localhost:8080/base/“[…]”
感谢@Makkx的更新!但Luiggi Mendoza的想法是(另一个有效的)解决方案。
    <p:button value="save" actionListener="#{indexBean.onSaveLunch}" />
    <p:commandButton value="save" actionListener="#{indexBean.onSaveLunch}" />
  public void onSaveLunch()
        {
            // do some action, will not be triggered
        }
 public void onSaveLunch(ActionEvent event)
    {
        // do some action, will not be triggered
    }