Primefaces 单元格内编辑不会在焦点更改时更新值

Primefaces 单元格内编辑不会在焦点更改时更新值,primefaces,jsf-2.2,Primefaces,Jsf 2.2,当鼠标焦点更改时,不会捕获单元格值 我有一个简单的数据表,显示姓名和收入。单元格值是可编辑的。当我用不同的值更新单元格值并点击“更新”(基本上改变鼠标焦点)时,不会捕获新值。更新方法 打印旧值。但是,当我按下“tab”键时,我可以看到打印的更新值。我不确定我错过了什么 这是我的后盾: @PostConstruct public void init() { NVPair nvp = new NVPair("xx", 10000); dataList.add(nvp)

当鼠标焦点更改时,不会捕获单元格值

我有一个简单的数据表,显示姓名和收入。单元格值是可编辑的。当我用不同的值更新单元格值并点击“更新”(基本上改变鼠标焦点)时,不会捕获新值。更新方法 打印旧值。但是,当我按下“tab”键时,我可以看到打印的更新值。我不确定我错过了什么

这是我的后盾:

@PostConstruct
public void init() {        
    NVPair nvp = new NVPair("xx", 10000);
    dataList.add(nvp);
    nvp = new NVPair("yy", 20000);
    dataList.add(nvp);
}

public void update() {
    for (NVPair item : dataList) {
        System.out.println("Name: " + item.getName() + " Value: " + 
item.getValue());
    }
}
以下是视图:

 <h:form>
    <p:dataTable id="testTable" value="#{testBean.dataList}" var="item"
                editable="true" editMode="cell">
                <p:ajax event="cellEdit" listener="#{testBean.onCellEdit}"
                    immediate="true" update="testTable" />


                <p:column headerText="Name">
                    <p:cellEditor>
                        <f:facet name="output">
                            <h:outputText value="#{item.name}" />
                        </f:facet>
                        <f:facet name="input">
                            <h:outputText value="#{item.name}" />
                        </f:facet>
                    </p:cellEditor>
                </p:column>

                <p:column headerText="Income">
                    <p:cellEditor>
                        <f:facet name="output">
                            <h:outputText value="#{item.value}" />
                        </f:facet>
                        <f:facet name="input">
                            <p:inputText value="#{item.value}" />
                        </f:facet>
                    </p:cellEditor>
                </p:column>

            </p:dataTable>
            <p:commandButton action="#{testBean.update}" value="Update" />
        </h:form>

当焦点改变时,我希望编辑的值会像按下tab键一样被捕获