我有一个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}" />
基于此,我需要在用户在弹出窗口中单击“是”时显示标签。我怎么能这样做?
答案 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";
}