Bom dia pessoal…
Estou com o seguinte problema… No xhtml abaixo, quando selecione um perfil o fildeset (mainField) com o nome do perfil e carrega os campos do perfil selecionado. O problema em si é que preciso atualizar o formulário para que o componente renderizado seja exibido e ao atualizar o formulário, o radioButton com o perfil selecionado se desmarca… O formulário desejado é exibido sem problema, independente do perfil selecionado. O único problema é que ao atualizar o formulário a o radioButton fica desmarcado e acredito que isso não seja correto.
Já mudei o ajax para atualizar só o fildset(mainFildset), mas ai o componente renderizado não é exibido.
Alguém pode me dar uma luz, de como resolver isso… a lógica que devo usar pra não ter esse problema… ?
<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:stella="http://stella.caelum.com.br/faces2">
<h:head>
<title>NUTRISIS - Cadastro de Usuários</title>
<link rel="stylesheet" type="text/css" href="#{facesContext.externalContext.request.contextPath}/css/perfil.css" />
</h:head>
<h:body styleClass="body">
<h:form id="formPrincipal">
<!-- Inicio - Sessão de Growl -->
<p:growl id="growlPerfil" showDetail="false" />
<p:growl id="growlCep" sticky="false" showDetail="true" for="cep" life="7000"/>
<!-- Fim - Sessão de Growl -->
<!-- Inicio - Sessão de blockUI-->
<p:blockUI block="formPrincipal" trigger="cep, btnCadUsuario">
Processando Requisição
</p:blockUI>
<p:blockUI block="formPrincipal" trigger="cpf">
Verificando CPF
</p:blockUI>
<!-- Fim - Sessão de blockUI -->
<!--
Inicio do formulário renderizavel.
-->
<p:fieldset id="principalFild" legend="Cadastrar Usuário" toggleable="false">
<p:fieldset legend="Selecione o Pefil" toggleable="false" id="perfil" styleClass="perfil">
<h:selectOneRadio value="#{perfilBean.perfil}" >
<p:ajax listener="#{perfilBean.renderizar}" update="principalFild" />
<f:selectItem itemValue="1" itemLabel="Paciente" />
<f:selectItem itemValue="2" itemLabel="Secretária(o)" />
<f:selectItem itemValue="3" itemLabel="Nutricionista" />
<f:selectItem itemValue="4" itemLabel="Laboratório de Exames" />
</h:selectOneRadio>
</p:fieldset>
<br />
<p:fieldset legend="#{perfilBean.perfil}" toggleable="true" id="mainFildset" rendered="#{perfilBean.isRenderiza}">
<!-- INICIO - IDENTIFICAÇÃO -->
<p:fieldset legend="Identificação" rendered="true">
<p:panelGrid columns="4" >
<h:outputLabel for="login" value="Login: " />
<p:inputText id="login" value="#{perfilBean.tbUsuario.login}"/>
<h:outputLabel for="nome" value="Nome Completo: " />
<p:inputText id="nome" value="#{perfilBean.tbUsuario.nomeCompleto}" size="50"/>
<h:outputLabel for="cpf" value="CPF: " />
<p:inputMask id="cpf" mask="999.999.999-99" value="#{perfilBean.tbUsuario.cpf}">
<p:ajax id="ajaxCpf" listener="#{perfilBean.recuperaCpf}"
update="growlPerfil" />
</p:inputMask>
<h:outputLabel for="rg" value="RG:"/>
<p:inputText id="rg" value="#{perfilBean.tbUsuario.rg}" />
<h:outputLabel for="dn" value="Data de Nascimento: " />
<p:inputMask id="dn" mask="99/99/9999" value="#{perfilBean.tbUsuario.dataNascimento}" />
</p:panelGrid>
</p:fieldset>
<br />
<!-- FIM - IDENTIFICAÇÃO -->
<!-- INICIO - CONTATO -->
<p:fieldset legend="Contato" id="contato" rendered="true">
<p:panelGrid columns="4" >
<h:outputLabel for="foneR" value="Telefone Residêncial: "/>
<p:inputMask id="foneR" mask="(99) - 9999-9999" value="#{perfilBean.tbUsuario.telefonePrincipal}"/>
<h:outputLabel for="foneC" value="Telefone Comercial: "/>
<p:inputMask id="foneC" mask="(99) - 9999-9999" value="#{perfilBean.tbUsuario.telefoneSecundario}"/>
<h:outputLabel for="email" value="Email: "/>
<p:inputText id="email" value="#{perfilBean.tbUsuario.email}" size="50"/>
</p:panelGrid>
</p:fieldset>
<br/>
<!-- FIM CONTATO -->
<!-- INICIO - ENDEREÇO -->
<p:fieldset legend="Endereço" id="endereco" rendered="#{perfilBean.isRenderiza}">
<p:panelGrid columns="4" >
<h:outputLabel for="cep" value="CEP: "/>
<p:inputMask id="cep" mask="99-999-999" value="#{perfilBean.cep}">
<p:ajax id="ajaxCep" listener="#{perfilBean.recuperaCep}"
update="log, cidade, bairro, uf, growlCep" />
</p:inputMask>
<h:outputLabel for="log" value="Logradouro: "/>
<p:inputText id="log" value="#{perfilBean.tbUsuario.logradouro}" size="50"/>
<h:outputLabel for="bairro" value="Bairro: "/>
<p:inputText id="bairro" value="#{perfilBean.tbUsuario.bairro}"/>
<h:outputLabel for="comp" value="Complemento: "/>
<p:inputText id="comp" value="#{perfilBean.tbUsuario.complemento}"/>
<h:outputLabel for="cidade" value="Cidade: "/>
<p:inputText id="cidade" value="#{perfilBean.tbUsuario.cidade}"/>
<h:outputLabel for="num" value="Nº: "/>
<p:inputText id="num" value="#{perfilBean.tbUsuario.numero}" size="5"/>
<h:outputLabel for="uf" value="UF: " />
<p:selectOneMenu id="uf" value="#{perfilBean.tbUsuario.uf}" effect="fade">
<f:selectItem itemLabel="Estado" itemValue=""/>
<f:selectItems value="#{perfilBean.recuperaUF}"/>
</p:selectOneMenu>
</p:panelGrid>
</p:fieldset>
<br/>
<!-- FIM ENDEREÇO -->
<br/>
<p:commandButton id="btnCadUsuario" ajax="false" value="Cadastrar Usuário"
actionListener="#{perfilBean.cadastrarPerfil}"
update="formPrincipal"/>
</p:fieldset>
</p:fieldset>
</h:form>
</h:body>
</html>