显示在PrimeFaces标签时,点击是在弹出窗口

Showing a label in PrimeFaces when clicked on yes on popup

本文关键字:窗口 PrimeFaces 标签 显示      更新时间:2023-09-26

我有一个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}" />

基于此,我需要显示标签时,用户点击是在弹出窗口。我该怎么做呢?

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

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

您可以通过调用jsf bean中的方法在单击Yes按钮时为其分配一个值。将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";
}