在下面的代码中,a4j:commandLink (id id="account-link") 并不总是对我有用。
失败场景(大约 10 次点击中发生 1 次):它被点击,a4j:status 标记(我们显示一个移动的等待栏)被调用,但支持 bean 没有被调用。下面是整个代码。支持 bean 是会话范围。
<rich:dataTable id="accountsDataTable" value="#{accounts}" var="acct"
styleClass="data-table" rowClasses="odd,even"
sortMode="single"
rows="50" rendered="#{accounts != null and accounts.rowCount>0}">
<rich:column id="col1" sortable="true" sortBy="#{acct.customerAccountId}">
<f:facet name="header">Account Number</f:facet>
<a4j:region id="account-link-zone">
<c:choose>
<c:when test="#{identity.isBackOffice}">
<a4j:commandLink action="#{accountSearch.getAndBypassAccount(acct.customerAccountId)}"
value="#{acct.customerAccountId}" eventsQueue="accountSearchQueue"
styleClass="left"/>
</c:when>
<c:otherwise>
<a4j:commandLink action="#{accountVerificationAction.getAccountToVerify(acct.customerAccountId)}"
id="account-link"
reRender="verificationModal"
ajaxSingle="true"
value="#{acct.customerAccountId}" eventsQueue="accountSearchQueue"
styleClass="left" limitToList="true"/>
</c:otherwise>
</c:choose>
</a4j:region>
<a4j:status startStyle="left" id="account-link-status" for="account-link-zone">
<f:facet name="start">
<img alt="status" src="../../img/spinner-inline.gif"/>
</f:facet>
<f:facet name="stop">
</f:facet>
</a4j:status>
</rich:column>