0

こんにちは、Java メソッド ajax を呼び出す commandButton があります。マネージド Bean でエラーが発生した場合 (NullPointerException など)、エラー メッセージを表示したり、特定の javascrpt メソッド呼び出しを実行したりしたい

commandButton に onerror 属性がある Primefaces のユーザー ガイドを見てきました。いつ呼び出されるかわかりません。

私のコードはこのようなものです。

<p:commandButton action="#{myBean.myMethod}" onsuccess="alert('success');" onerror="myJavaScriptMethod();"/>

<script>
   function myJavaScriptMethod(){
        alert('Exception occured in managed bean');
   }
</script>

私のJavaメソッド

public void myMethod(){
      throw new Exception("Failed to do operation");
}

クライアント側で「myJavaScriptMethod」を呼び出したい。

4

1 に答える 1

1

より良い解決策onerrorは、メソッドから script を呼び出すことmyMethod()です。それは次のように見えるはずです

public void myMethod(){
      try {
          // your code goes here
      } catch(Exception e) {
          RequestContext.getCurrentInstance().execute("your script");
      }
}
于 2013-09-19T13:53:01.327 に答える