Jsf 在ajax方法上发生EXCEPTION时,如何显示任何特定消息或excute javascript错误?
嗨,我有一个commandButton,它调用java方法ajax。我想在托管bean中发生错误时显示错误消息或执行任何特定的javascrpt方法调用(即NullPointerException) 我看过primefaces的用户指南,其中commandButton具有onerror属性。我不确定它什么时候被叫来 我的代码是这样的Jsf 在ajax方法上发生EXCEPTION时,如何显示任何特定消息或excute javascript错误?,jsf,primefaces,Jsf,Primefaces,嗨,我有一个commandButton,它调用java方法ajax。我想在托管bean中发生错误时显示错误消息或执行任何特定的javascrpt方法调用(即NullPointerException) 我看过primefaces的用户指南,其中commandButton具有onerror属性。我不确定它什么时候被叫来 我的代码是这样的 <p:commandButton action="#{myBean.myMethod}" onsuccess="alert('success');" oner
<p:commandButton action="#{myBean.myMethod}" onsuccess="alert('success');" onerror="myJavaScriptMethod();"/>
<script>
function myJavaScriptMethod(){
alert('Exception occured in managed bean');
}
</script>
我想在客户端调用“myJavaScriptMethod”。比
更好的解决方案是从方法myMethod()
调用脚本。那应该是
public void myMethod(){
try {
// your code goes here
} catch(Exception e) {
RequestContext.getCurrentInstance().execute("your script");
}
}
感谢您的ans。我想从客户端调用它,这样我就可以将java代码与xhtml代码分开。jsf.ajax.addOnError(handleError);var handleError=函数handleError(data){}我不知道如何使用它。我尝试使用您的代码,如-RequestContext.getCurrentInstance().execute(“alert('My method executed')”)。这对我不起作用:(你确定执行达到了捕获块吗?
public void myMethod(){
try {
// your code goes here
} catch(Exception e) {
RequestContext.getCurrentInstance().execute("your script");
}
}