0

Java 関数からのメッセージでアラートを発生させようとしています。システムは次のように単純です。

    public class AdminBean extends AbstractListBean {

    private Collection <Hours> A;
    private ModelDto selectedModel;
    private String message;

public void insert() {

        //some preparations
        setMessage("");

        if ( selectedModel!= null ) {

                try{

                //try insert of selected model
                setMessage("Success");

                }catch (Exception e) {

                    setMessage("Unespected Error");
                }

            }else{
                setMessage("Not available");
            }

        //getHttpServletRequest().setAttribute("message", getMessage());
        //FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(message)); 

    }

}

そして、クライアント側では、次のように xhtml を書きました。

<a4j:commandLink styleClass="inscribirse" rendered="#{model.status eq 'N' and model.styleClass eq 'font-weight:bold;'}">
    <a4j:jsFunction name="okClicked" actionListener="#{AdminBean.insert}" oncomplete="reDirigir(message)">
    <a4j:actionparam name="message" assignTo="#{AdminBean.message}"/>
    </a4j:jsFunction>
   <h:outputText value="Inscribirse" />
   <f:setPropertyActionListener target="#{AdminBean.selectedModel}" value="#{model}" />
</a4j:commandLink>

したがって、A4J コマンドをクリックすると、関数「挿入」が実行され、データベースを監視していることがわかりましたが、「reDirigir」関数は機能していません。

function reDirigir(c){

        alert(c);
        window.location.href='#{facesContext.externalContext.request.contextPath}/StrutsJsfServlet?beanName=menuBean&method=eventos';

        }

私の意図は、Bean からのメッセージを表示してから、ページを更新することです。助言がありますか?

どうもありがとうございました!

PS: この xhtml コードはコレクション A の反復内にあり、 #{model} は反復子で使用されるエイリアスです。

4

2 に答える 2