Ajax 如何从bean更新JSF表单?
我试图做的是让用户单击一个按钮,打开一个对话框,询问您想启动吗?是的,不是 如果选择“是”,则数据库中的值设置为1,否则保留为0 一旦他们点击yes,思维导图就会呈现出来——然而,尽管使用了我认为是正确的选项,它还是不起作用。如果我在单击“是”后刷新页面,则会呈现思维导图,但如果可能的话,我希望使用ajax公式 这是我目前的代码:Ajax 如何从bean更新JSF表单?,ajax,jsf,primefaces,Ajax,Jsf,Primefaces,我试图做的是让用户单击一个按钮,打开一个对话框,询问您想启动吗?是的,不是 如果选择“是”,则数据库中的值设置为1,否则保留为0 一旦他们点击yes,思维导图就会呈现出来——然而,尽管使用了我认为是正确的选项,它还是不起作用。如果我在单击“是”后刷新页面,则会呈现思维导图,但如果可能的话,我希望使用ajax公式 这是我目前的代码: <p:confirmDialog id="confirmDialog" message="Are you sure abou
<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>
Get和set是标准的getter和setter
我想知道的是,有没有一种方法可以从豆子内部做到这一点?即:
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();
}
或者类似的东西
谢谢 我不明白您想要/需要什么:如何在primefaces确认对话框中显示/隐藏思维导图,或者在单击确认选项后更新数据库?据我所知,您已将MM绑定到bean中的属性。具有私有MindmapNode根;当checkRenderMM listener正在处理时,您可以用它做任何您想做的事情。您的问题/要求很难理解。在查看代码时,您的整个问题不是因为在更新中使用了不正确的ID而导致的吗?更新=growl2,mmBody,mm应该是更新=growl2,mmBody,mindmap吗?对不起,我一直在胡闹,先尝试了一些不同的东西,这就是为什么更新的id mm有点错误,我调用了一个不同的表单-我试图通过设置widgetVar=mm并调用mm.update来更新mindmap,或者试图找出正确的语法。在任何情况下,在混乱了一些之后,它现在起作用了——虽然我不得不更新思维导图的形式,而不是直接更新思维导图,我认为这很有意义,但没有像我第一次尝试的那样起作用。我为我不清楚的问题道歉,我会努力的。
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();
}