多个 ajax 事件的顺序处理支持的 JSF 2.x 功能对我不起作用。我得到了以下场景:
h:inputText(更改)
<h:inputText id="consumption_input" value="#{cc.attrs.consumptionInfo.consumption}"> <f:ajax render="#{cc.attrs.outerRenderString}" event="change" listener="#{cc.handleAjaxRequest}" /> </h:inputText>
h:commandButton (动作)
<h:commandButton id="startComparisonButton" action="#{rateComparisonBean.startRateComparison()}" value="#{bundle.rateResultOverview_startComparison}"> <!-- This is to avoid mixed requests, ajax and full requests --> <f:ajax render="@form"/> </h:commandButton>
如果自行触发,这两个元素的事件都会得到正确处理。
在一次单击内触发两个事件时会出现问题(在 textInput 中输入一个值,然后单击按钮)。我预计这会导致两个 ajax 请求同步触发(CHANGE-TextField 和 ACTION-commandButton)。
不幸的是,只有一个 Ajax-Request (Change-TextField),第二个事件似乎完全丢失了。
我已经确保 ah:commandButton 的所有先决条件都已满,如此处所指出: commandButton/commandLink/ajax action/listener method not invoked or input value not updated
我很高兴获得有关如何解决此问题的任何提示。
环境:Glassfish 3、Mojarra 2.1.3-FCS