I'm new to PrimeFaces (and JSF too) and I'm trying to update dialog message based on retrieved data.
View looks like:
    <p:dialog id="userDialog" header="Confirmation" widgetVar="userDialog" dynamic="true"  modal="true" closable="fasle" width="680px" resizable="false">
    <h:form>
        <b>Email address #{userListView.email}</b> is already registered with the following user <b>#{userListView.firstName}</b> <b>#{userListView.lasttName}</b>:
        <b>Please confirm that you would like to proceed with adding an additional account for this User.</b><br />
        <hr />
        <div class="ui-confirm-dialog-footer">
            <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="pi pi-check" onclick="PF('userDialog').hide()" />
            <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="pi pi-times" onclick="PF('userDialog').hide()" />
        </div>
    </h:form>
And controller looks like:
@ManagedBean(name = "userListView")
@ViewScoped
public class UserListView extends DataTableListView implements Serializable {
 .....some other code...
    public String getFirstName() {
       String firstName = "";
       List<UserMembership> membershipList = getMembershipList();
       if (!membershipList.isEmpty()) {
           UserMembership membership = membershipList.get(0);
           firstName = membership.getUser().getFirstName();
       }
       return firstName;
    }
    public String getLasttName() {
       String lastName = "";
       List<UserMembership> membershipList = getMembershipList();
       if (!membershipList.isEmpty()) {
           UserMembership membership = membershipList.get(0);
           lastName = membership.getUser().getLastName();
       }
       return lastName;
    }
    public String getEmail() {
       String email = "";
       List<UserMembership> membershipList = getMembershipList();
        if (!membershipList.isEmpty()) {
            UserMembership membership = membershipList.get(0);
            email = membership.getUser().getEmail();
        }
        return email;
    }
 ....some other code...
}
and dialog box is spawned as
RequestContext.getCurrentInstance().execute("showDialog(userDialog')");
It will work fine for the first user but then when I will get that dialog box for another one it keeps data from first one not updated with current.
Also I have try to add
onHide="PF('userDialog').content.empty()"
to the dialog but that will remove whole dialog box content.
How can I destruct and refresh that dialog box with new data then?
PS. Not sure if I need to get this done via
   @PostConstruct
   public void init() {}
 
    