1

私がやろうとしているのは、ユーザーにボタンをクリックしてもらい、ダイアログを開いて開始しますか? はい・いいえ。

[はい] を選択すると、データベースの値が 1 に設定され、それ以外の場合は 0 のままになります。

[はい] をクリックすると、マインドマップがレンダリングされるはずですが、正しいオプションだと思ったものを使用したにもかかわらず、機能しませんでした。[はい] をクリックしてページを更新すると、マインドマップがレンダリングされますが、可能であれば ajax 形式を使用して実行したいと考えています。

これが私の現在のコードです:

<p:confirmDialog id="confirmDialog" 
                 message="Are you sure about starting the round?"
                 header="Initiating round" 
                 severity="alert" 
                 widgetVar="confirmation"
                 >

    <p:growl id="growl2" showDetail="true" life="3000"/>

    <p:commandButton id="confirm" 
                     value="Yes Sure" 
                     update="growl2,mmBody,mm" 
                     oncomplete="confirmation.hide(),mm.update()"
                     actionListener="#{mmBean.checkRenderMM()}"
                     />

    <p:commandButton id="decline"
                     value="Not Yet" 
                     onclick="confirmation.hide()"
                     type="button"
                     /> 

</p:confirmDialog>

<p:mindmap id="mindmap" value="#{mmBean.root}" widgetVar="mm">
  ...
</p:mindmap>    

Bean コードは非常に単純です。true か false かを簡単に確認します。

public Boolean checkRenderMM(){
    if ( this.cUser.getReadytobegin() != 1 ){
        this.setRenderMM( false );
    }
    else{
        this.setRenderMM( true );
    }
    return this.getRenderMM();
}

Get と set は、標準の getter と setter です。

私が疑問に思っているのは、Beanの中からそれを行う方法があるということですか? あれは:

public Boolean checkRenderMM(){
    if ( this.cUser.getReadytobegin() != 1 ){
        this.setRenderMM( false );
    }
    else{
        this.setRenderMM( true );
    }

    SOME CODE THAT UPDATES THE MINDMAP COMPONENT FROM HERE

    return this.getRenderMM();
}

または、それらの線に沿った何か。

ありがとう!

4

0 に答える 0