例外が発生した場合にap:ajaxStatusでアラートを取得できない理由がわかりません。
私は基本的にこのコードをフェイスレットページに持っています
<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リクエストでアラートがトリガーされません。
私はfirebugをチェックし、この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