使用 a4j:poll 与 JSF 命令按钮调用方法时出错

Error when calling a method with a4j:poll vs. JSF commandButton

我正在尝试使用 a4j:poll 在编辑表单上实现自动保存功能。

我的 JSF 页面包含两个调用相同表单方法的项目:一个按钮和一个 RichFaces a4j:poll。按钮功能正常。投票失败。症状是当 a4j:poll 触发时,表单中包含的数据实体为空。按下按钮时,包含在表单中的数据实体具有输入到字段中的数据。

<h:form id="patient">
    <h:commandButton 
        styleClass="submit" 
        id="saveInProgress"
        type="submit"
        actionListener="#{sessionState.pForm.saveInProgressAction}"
        value="Save In-Progress" />  

    <a4j:poll 
        interval="300000" 
        id="autoSave" 
        actionListener="#{sessionState.pForm.saveInProgressAction}" />
</h:form>

编辑(3): (删除了其他编辑,因为它们不再相关。)

我认为发生的事情是当 a4j:poll 触发时,processUpdates() 永远不会被调用。

如何从 a4j:poll 调用 processUpdates() 方法?

编辑: 在这种情况下,我可以从我在 a4j:poll、saveInProgressAction() 中调用的方法调用 processUpdates() 吗?

服务器默认只处理轮询组件,如果需要处理其他组件(例如文本字段)需要使用@execute:

<a4j:poll execute="@form" />

这将处理整个表单,但如果需要更具体,您可以使用 ID。