Да, это можно использовать. Вы должны сделать эти определения в классе бобов.
import java.io.Serializable;
import java.util.Iterator;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.view.ViewScoped;
import javax.inject.Named;
@Named("applicationBean")
@ViewScoped
public class ApplicationBean implements Serializable {
private static final long serialVersionUID = 1L;
@PostConstruct
public void init() {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Sweet Alert Message From Application Bean"));
}
public boolean getHasMessage() {
Iterator<FacesMessage> iterator = FacesContext.getCurrentInstance().getMessages();
return (iterator != null) && (iterator.hasNext());
}
public String getErrorMessage() {
Iterator<FacesMessage> iterator = FacesContext.getCurrentInstance().getMessages();
return iterator.hasNext() ? iterator.next().getSummary() : "";
}
}
Тогда вы можете назвать это jQuery следующим образом.
$(document).ready(function() {
/* Faces Message */
if (#{
applicationBean.hasMessage
}) {
var message = '#{applicationBean.errorMessage}';
swal('Info', message, 'info');
}
});