Actualizar componente primefaces desde codigo Java

PrimeFaces.current().ajax().update("nombre_componente");


Informacion

codigo del sitio de primefaces

@ManagedBean
public class RequestContextView {
   
    private User user;
     
    @PostConstruct
    public void init() {
        user = new User();
         
        if(!FacesContext.getCurrentInstance().isPostback()) {
            PrimeFaces.current().executeScript("alert('This onload script is added from backing bean.')");
        }
    }
 
    public User getUser() {
        return user;
    }
 
    public void setUser(User user) {
        this.user = user;
    }
 
    public void save() {
        PrimeFaces.current().ajax().addCallbackParam("saved", true);    //basic parameter
        PrimeFaces.current().ajax().addCallbackParam("user", user);     //pojo as json
         
        //execute javascript oncomplete
        PrimeFaces.current().executeScript("PrimeFaces.info('Hello from the Backing Bean');");
         
        //update panel
        PrimeFaces.current().ajax().update("form:panel");
         
        //scroll to panel
        PrimeFaces.current().scrollTo("form:panel");
         
        //add facesmessage
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Success", "Success"));
    }
}

.xhtml

<style type="text/css">
    .ui-log {
        left: 600px;
        top: 100px;
    }
</style>
 
<script type="text/javascript">
    function handleComplete(xhr, status, args) {
        if(args.validationFailed) {
            PrimeFaces.debug("Validation Failed");
        } 
        else {
            PrimeFaces.debug("Save:" + args.saved);
            PrimeFaces.debug("FirstName: " + args.user.firstname + ", Lastname: " + args.user.lastname);
        }
    }
</script>
 
 
<h:form id="form">
    <p:panel id="panel" header="New User" style="margin-bottom:10px;">
        <p:messages />
        <h:panelGrid columns="2" cellpadding="5">
            <p:outputLabel for="firstname" value="Firstname:" />
            <p:inputText id="firstname" value="#{requestContextView.user.firstname}" required="true"/>
 
            <p:outputLabel for="surname" value="Lastname:" />
            <p:inputText id="surname" value="#{requestContextView.user.lastname}" required="true"/>
        </h:panelGrid>
    </p:panel>
 
    <p:commandButton value="Save" action="#{requestContextView.save}" oncomplete="handleComplete(xhr, status, args)" />
 
    <p:log />
</h:form>

Last updated