我正在使用primefaces并提交表格。如果在辅助bean中发生任何异常,则抛出错误消息。我需要使用javascript包含错误消息执行一些操作。 目前我正在使用以下代码,但我将facesContext.maximumSeverity作为null。
<p:commandButton action="#{backingBean.fetchSearchResults()}"
update="@form :searchResults" value="Update"
actionListener="#{backingBean.updateDetails()}" validateClient="true"
oncomplete="handleResponse(xhr, status, args)" />
<h:outputScript target="head">
function handleResponse(xhr, status, args) {
if( args.notValid || args.validationFailed) {
alert('Balls 1');
return;
} else if (#{facesContext.maximumSeverity==null or facesContext.maximumSeverity.compareTo(FacesMessage.SEVERITY_ERROR) ge 0}) {
alert('Balls 2');
return;
} else if (#{facesContext.maximumSeverity==null or facesContext.maximumSeverity.ordinal=='1'}) {
alert('Balls 3');
return;
} else {
alert('Everything is Ok.');
}
}
</h:outputScript>
答案 0 :(得分:0)
您错误地假设在调用javascript时评估#{facesContext.maximumSeverity==null or facesContext.maximumSeverity.ordinal=='1'}
。它不是。在呈现页面时对其进行评估。此时,严重性值很可能为空。