如何在ajax方法上发生异常时显示任何特定消息或执行javascript错误?

时间:2013-09-19 13:45:54

标签: jsf primefaces

您好我有一个调用java方法ajax的commandButton。我想在托管bean中发生错误时显示错误消息或执行任何特定的javascrpt方法调用(即NullPointerException)

我已经看到了primefaces的用户指南,其中commandButton具有onerror属性。我不确定它什么时候被召唤。

我的代码是这样的。

<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”。

1 个答案:

答案 0 :(得分:1)

更好的解决方案而不是onerror是从您的方法myMethod()调用脚本。这看起来应该是

public void myMethod(){
      try {
          // your code goes here
      } catch(Exception e) {
          RequestContext.getCurrentInstance().execute("your script");
      }
}