Fill in automatic data - JSF

0

I need to make my inputs automatically populated, after combo selection. I have already done the method to go through the database and retrieve the necessary information, however it does not fill ... Can anyone help me? I believe that due to the update of ajax, but I do not know how to update the form ...

index.xhtml

<h:form id="formGeral" prependId="false">
    <h:panelGrid id="panelDados" columns="4" cellpadding="8">
        <p:outputLabel class="lt" value="Projeto:" />
        <p:selectOneMenu value="#{usuarioBean.projeto.codigo}"
            required="true" requiredMessage="O campo 'Projeto' é obrigatório.">
            <f:selectItem itemLabel="Selecione o projeto" itemValue="" />
            <f:selectItems value="#{projetoBean.projetos}" var="projeto"
                itemLabel="#{projeto.projeto}" itemValue="#{projeto.codigo}" />
            <f:ajax listener="#{usuarioBean.popularProjeto}"
                update=":formGeral" />
        </p:selectOneMenu>
        <p:outputLabel class="lt" value="Superior Imediato:" />
        <p:inputText id="superiorImediato"
            value="#{usuarioBean.recebeSuperior}" />
        <p:outputLabel class="lt" value="Tipo projeto:" />
        <p:inputText id="tipoProjeto"
            value="#{usuarioBean.recebeTipoProjeto}" />
    </h:panelGrid>
</h:form>

method to recover data:

public void popularProjeto() {
    try {
        if (projeto != null) {
            Projeto recebeProjeto = projetoDAO.buscarPorCodigo(projeto.getCodigo());
            recebeSuperior = recebeProjeto.getProjeto();
            recebeTipoProjeto = recebeProjeto.getTipo();

            System.out.println(recebeSuperior);
            System.out.println(recebeTipoProjeto);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
    
asked by anonymous 02.08.2016 / 14:16

1 answer

1

Hi, the render attribute is the render of f: ajax

...
<f:ajax listener="#{usuarioBean.popularProjeto}" render="formGeral" />
...

See more at: link

    
02.08.2016 / 16:41