Использование JSF Sweet Alert FacesMessages - PullRequest
0 голосов
/ 17 апреля 2019

Можно ли использовать библиотеку Sweet alert с технологией JSF? Я хочу показать сообщения в объекте FacesMessage через подсластитель. Возможно ли такое использование?

1 Ответ

3 голосов
/ 28 апреля 2019

Да, это можно использовать. Вы должны сделать эти определения в классе бобов.

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');
    }
});
...