私がやろうとしているのは、ユーザーにボタンをクリックしてもらい、ダイアログを開いて開始しますか? はい・いいえ。
[はい] を選択すると、データベースの値が 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();
}
または、それらの線に沿った何か。
ありがとう!