Galera boa tarde estou fazendo alguns teste aqui apos conclusao dos cursos que fiz na alura e me sugiu uma duvida, tenho a minha pagina xhtml de cadastro.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:composition template="_template.xhtml">
<ui:define name="cabecalho">
<p:outputPanel>Cadastro de Funcionarios</p:outputPanel>
</ui:define>
<ui:define name="conteudo">
<h:form id="cadastro">
<p:growl id="mensagem" showDetail="true" />
<p:fieldset legend="Cadastro">
<p:panelGrid columns="2">
<p:outputLabel value="Nome: " for="nome"/>
<p:inputText id="nome" value="#{funcionarioController.funcionario.nome}"/>
<p:outputLabel value="Idade: " for="idade"/>
<p:inputText id="idade" value="#{funcionarioController.funcionario.idade}"/>
<p:outputLabel value="Telefone " for="telefone"/>
<p:inputMask id="telefone" value="#{funcionarioController.funcionario.telefone}" mask="(999) 999-9999"/>
<p:outputLabel value="CPF: " for="cpf"/>
<p:inputMask id="cpf" value="#{funcionarioController.funcionario.cpf}" mask="999.999.999-99"/>
<p:outputLabel value="Salario " for="salario"/>
<p:inputNumber id="salario" value="#{funcionarioController.funcionario.salario}">
<p:ajax update="salario" />
</p:inputNumber>
<p:outputLabel value="Data Contratada:" for="data"/>
<p:calendar id="data" value="#{funcionarioController.funcionario.data.time}" showOn="button" locale="de" navigator="true" pattern="dd/MM/yyyy" effect="fold" >
<f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo"/>
</p:calendar>
<p:outputLabel value="Observação: " for="observacao"/>
<p:inputTextarea rows="6" cols="33" id="observacao" value="#{funcionarioController.funcionario.observacao}" />
<p:outputLabel value="Cidade: " for="cidade"/>
<p:inputText id="cidade" value="#{funcionarioController.endereco.cidade}"/>
<p:outputLabel value="Bairro: " for="bairro"/>
<p:inputText id="bairro" value="#{funcionarioController.endereco.bairro}"/>
<p:outputLabel value="CEP " for="cep"/>
<p:inputText id="cep" value="#{funcionarioController.endereco.cep}"/>
<p:outputLabel value="Numero Casa: " for="numero"/>
<p:inputText id="numero" value="#{funcionarioController.endereco.numeroCasa}"/>
</p:panelGrid>
</p:fieldset>
<p:commandButton value="Cadastrar" action="#{funcionarioController.cadastrar}" update="cadastro" process="@all"/>
<p:commandButton value="Limpar" type="reset"/>
</h:form>
</ui:define>
</ui:composition>
</html>
Depois criei uma paginha xhtml de tabela dos funcionarios.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:composition template="_template.xhtml">
<ui:define name="cabecalho">
<p:outputPanel>Tabela Funcionarios</p:outputPanel>
</ui:define>
<ui:define name="conteudo">
<h:form id="cadastro">
<p:growl id="mensagem" showDetail="true" />
<p:fieldset legend="Cadastro" toggleable="true" toggleSpeed="500">
<p:dataTable var="funcionario" value="#{funcionarioController.funcionarios}">
<p:column headerText="Nome">
<h:outputText value="#{funcionario.nome}" />
</p:column>
<p:column headerText="Telefone">
<h:outputText value="#{funcionario.telefone}" />
</p:column>
<p:column headerText="CPF">
<h:outputText value="#{funcionario.cpf}" />
</p:column>
<p:column headerText="Idade">
<h:outputText value="#{funcionario.idade}" />
</p:column>
<p:column headerText="Salario">
<h:outputText value="#{funcionario.salario}">
<f:convertNumber type="currency" pattern="R$ #0.00" currencySymbol="R$" locale="pt_BR"/>
</h:outputText>
</p:column>
<p:column headerText="Observações">
<h:outputText value="#{funcionario.observacao}" />
</p:column>
<p:column headerText="Data">
<h:outputText value="#{funcionario.data.time}">
<f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo"/>
</h:outputText>
</p:column>
<p:column headerText="Cidade">
<h:outputText value="#{funcionario.endereco.cidade}" />
</p:column>
<p:column headerText="CEP">
<h:outputText value="#{funcionario.endereco.cep}" />
</p:column>
<p:column headerText="Bairro">
<h:outputText value="#{funcionario.endereco.bairro}" />
</p:column>
<p:column headerText="Numero Casa">
<h:outputText value="#{funcionario.endereco.numeroCasa}" />
</p:column>
<p:column headerText="Remover">
<p:commandLink value="Excluir" action="#{funcionarioController.remover(funcionario)}" update="@form" process="@form"/>
</p:column>
<p:column headerText="Alteracao">
<p:commandLink value="alterar" actionListener="#{funcionarioController.carregar(funcionario)}" action="#{funcionarioController.formularioFuncionario}" update="@form" process="@form"/>
</p:column>
</p:dataTable>
</p:fieldset>
</h:form>
</ui:define>
</ui:composition>
</html>
No meu link alterar eu estou mandando uma ação para trocar de página e para a pagina funcionario, e quando eu mando para a pagina, os dados do funcionario aparecem tudo em branco, teria como eu mandar para a pagina funcionarios mais com os dados salvo na "memoria" e dai la dentro carregar tudo oque tava na minha pagina? Faz sentido?