我碰巧不明白为什么如果发生异常我无法在 ap:ajaxStatus 上收到警报
我基本上在 facelet 页面中有这段代码
<p:ajaxStatus onerror="alert('Error occurred!')" />
<p:commandLink title="Delete" process="@this"
actionListener="#{myBean.deleteData}">
<h:outputText value="Delete" />
</p:commandLink>
在我的 bean 上,我提出了一个异常来测试 ajax 状态
public void deleteData(ActionEvent event) {
throw new CustomException("Testing");
}
我不确定,但不会在 ajax 请求上触发警报。
我检查了萤火虫并看到了这个 ajax 响应。
<?xml version='1.0' encoding='UTF-8'?>
<partial-response><changes><update id="javax.faces.ViewState"><![CDATA[5240489117331224423:7642972336085906948]]></update></changes></partial-response>
但是当我检查服务器日志时,我看到它已注册
javax.faces.event.AbortProcessingException: /pages/members.xhtml @208,128 actionListener="#{myBean.deleteData}": com.test.CustomException: Testing
为什么会这样?
Primefaces 3.2/Glassfish/JSF 2.0