p:在Primefaces中使用AJAX时,commandbutton不会触发事件

时间:2012-06-29 12:58:43

标签: ajax jsf button primefaces

这是一个老问题,很多人之前已经问过,但在阅读完这些问题和答案后,我无法解决问题。这是非常简单的情况,面板里面的面板是提交按钮来渲染结果面板。如果我添加immediate =“true”它正在工作,但不完全像我想要的那样。这基本上和Primeface的展示中的Showcase示例一样简单,但仍然无法正常工作。

案例:当我按下AJAX搜索按钮时,它永远不会进入我的托管bean partnerController.search()。为什么不呢?

    <p:row>
        <p:column></p:column>
        <p:column><p:commandButton actionListener="#{partnerController.search()}" value="AJAX Search" style="width: 210px; height: 40px;" ajax="true" update="result"/></p:column>

    </p:row>
  </p:panelGrid>


        </p:panel>
        <br />
         <p:panel id="result" rendered="#{partnerController.result.size()>0}">
            <p:scrollPanel style="width:250px;height:200px">  
                <p:dataGrid var="partner" value="#{partnerController.result}" columns="3">  
                    <p:panel header="#{partner.name}" style="text-align:center">  
                        <h:panelGrid columns="1" style="width:100%;" styleClass="noBorders">  
                            <h:outputText value="#{partner.contactPerson}" />  
                            <h:outputText value="#{partner.address}" />  
                            <h:outputText value="#{partner.phone}" />  
                            <h:outputText value="#{partner.email}" />  
                        </h:panelGrid>  
                    </p:panel>  
                </p:dataGrid>  
            </p:scrollPanel>  
            </p:panel>

    </h:form>

我现在在控制器中使用了一个模型:

public List<Partner> search(){

        System.out.println("search()search()search()search()search()search()search()");
        result = new ArrayList<Partner>();
        Partner test = new Partner();
        test.setName("Steve Stacko'partner");
        test.setContactPerson("Sami");
        result.add(test);
        System.out.println("----------off-----------");
        return result;
    }

如果没有immediate =“true”,它永远不会进入managedBean的搜索方法。 Primefaces的展示说它正在以这种方式工作,但不是我的情况。

以下是Primefaces展示:http://www.primefaces.org/showcase-labs/ui/commandButton.jsf

谢谢你的帮助! BTW我正在使用PF 3.4-SNAPSHOT版本。 萨米

0 个答案:

没有答案