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