如何从bean更新JSF表单?

时间:2013-01-09 16:24:28

标签: ajax jsf primefaces

我要做的是让用户点击一个按钮,打开一个对话框,询问您是否要开始?是 - 否。

如果选择“是”,则数据库中的值设置为1,否则保留为0.

一旦他们点击是,就应该渲染一个MindMap--但是,尽管使用了我认为正确的选项,但它还是没有用。如果我在单击是后刷新页面,则会渲染思维导图,但如果可能的话,我想使用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 Code非常简单;只需简单检查一下是真还是假:

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

获取和设置是标准的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();
}

或类似的东西。

谢谢!

0 个答案:

没有答案