在弹出窗口中单击“是”时在PrimeFaces中显示标签

时间:2016-08-30 10:56:07

标签: javascript jquery jsf jsf-2 primefaces

我有一个PrimeFaces弹出窗口,如果我在弹出窗口中单击是,它应该显示一个标签。

我的弹出代码:

<p:confirmDialog widgetVar="confirmDialog"
    visible="#{loadCouponGroupBean.displaypopUp =='true'}"
    showEffect="fade" id="confirmDialog" hideEffect="fade"
    message="#{msgs['msg.changeTemplate']}"
    header="#{msgs['msg.confirmation']}">
    <p:commandButton value="Yes" type="button" 
        styleClass="ui-confirmdialog-yes" icon="ui-icon-check" update="itemDetailsId"
        onclick="PF('confirmDialog').hide()" />
    <p:commandButton value="No" type="button"
        styleClass="ui-confirmdialog-no" icon="ui-icon-close"
        onclick="PF('confirmDialog').hide()" />
</p:confirmDialog>

我的标签代码:

<h:outputLabel id="itemDetailsId" value="#{loadCouponGroupBean.itemBo.name}" />

基于此,我需要在用户在弹出窗口中单击“是”时显示标签。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您应该为h:outputLabel中使用的变量赋值。

value="#{loadCouponGroupBean.itemBo.name}"

通过调用jsf bean中的方法,可以在单击Yes按钮时为其赋值。将“是”按钮更改为以下

<p:commandButton value="Yes" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" update="itemDetailsId" action="loadCouponGroupBean.changeName()"  onclick="PF('confirmDialog').hide()" />

然后在bean中创建一个changeName方法

public void changeName(){
   name="New Value";
}