my code:
Code: Select all
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core">
<ui:composition template="../corpo/layout.xhtml">
<ui:define name="conteudo">
<center>
<h:form id="comp">
<p:growl showDetail="false" ></p:growl>
<p:messages id="msg" showDetail="false" autoUpdate="true"></p:messages>
<br></br>
<p:panel id="telaPessoa"
header="Cadastro de Pessoas Físicas (Clientes, Usuários, Garçons, etc)"
style=" width: 900px" >
<h:panelGrid columns="2">
<p:panel header="Pessoa" style="text-align:center max-height: 200px; max-width: 200px;" >
<p:graphicImage value="#{bean.imagem}" height="128px" width="128px" />
<p:fileUpload
fileUploadListener="#{bean.enviarImagemPessoa}"
sizeLimit="204800" auto="true" image="/imagens/person.png"
customUI="true" update="idimagem,outputPanelUpload"
label="Procurar Imagem" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" />
</p:panel>
<p:panel style="border:0px">
<table>
<tr>
<td><h:outputText value="Código" /></td>
<td><p:inputText disabled="true" title="Código da Categoria" size="20" value="#{bean.pesCodigoAux}" style="background: #EBF9FE;" /></td>
<td><h:outputText value="Nome *" /></td>
<td><p:inputText title="Informe o nome da pessoa"
maxlength="60" value="#{bean.pessoa.pesNome}" id="nomePessoa" /></td>
</tr>
<tr>
<td><h:outputText value="Email *" /></td>
<td><p:inputText title="Email principal da pessoa"
value="#{bean.pessoa.pesEmail}" /></td>
<td><h:outputText value="Email Alternativo" /></td>
<td><p:inputText title="Informe um email alternativo"
maxlength="60" value="#{bean.pessoa.pesEmailOutro}" /></td>
</tr>
<tr>
<td><h:outputText value="Twitter " /></td>
<td><p:inputText title="Informe o twitter da pessoa"
value="#{bean.pessoa.pesTwitter}" /></td>
<td><h:outputText value="Data Nascimento *" /></td>
<td><p:calendar pattern="dd/MM/yyyy" yearRange="100" navigator="true"
display="inline" title="Data do nascimento" value="#{bean.pessoaFisica.pesDataNasc}" /></td>
</tr>
<tr>
<td><h:outputText value="Telefone Cel" /></td>
<td><p:inputMask
value="#{bean.pessoa.pesFoneCel}"
mask="(999) 9999-9999" /></td>
<td><h:outputText value="Telefone Fixo" /></td>
<td><p:inputMask
value="#{bean.pessoa.pesFoneFixo}"
mask="(999) 9999-9999" /></td>
</tr>
<tr>
<td><h:outputText value="Sexo *" /></td>
<td>
<p:selectOneRadio value="#{bean.pessoaFisica.pesSexo}" >
<f:selectItem itemLabel="Masculino" itemValue="M" />
<f:selectItem itemLabel="Feminino" itemValue="F" />
</p:selectOneRadio>
</td>
<td><h:outputText value="Tipo *" /></td>
<td>
<p:selectOneRadio value="#{bean.pessoa.pesFisicaJuridica}" disabled="true" >
<f:selectItem itemLabel="Física" itemValue="#{bean.pessoa.pesFisicaJuridica}" id="radiofis"/>
<f:selectItem itemLabel="Jurídica" itemValue="J" />
</p:selectOneRadio>
</td>
</tr>
</table>
</p:panel>
<p:panel style="border:0px">
<table align="left">
<tr>
<td><p:selectBooleanCheckbox value="#{bean.ativa}" id="ativapes" /> </td>
<td><h:outputText value="Cadastro Ativo" /> </td>
</tr>
</table>
</p:panel>
<p:panel visible="false">
<p:inputText title="Código da Pessoa" size="20" value="#{bean.pessoa.pesCodigo}" style="background: #EBF9FE;" />
<p:inputText style="width:580px;" title="caminho da imagem" value="#{bean.pessoa.pesFotoCaminho}" />
</p:panel>
</h:panelGrid>
<p:commandButton value="Novo" action="#{bean.novo}" ajax="false" immediate="true" image="ui-icon ui-icon-document"/>
<p:commandButton rendered="#{bean.insert}" value="Inserir"
onclick="salvar.show()" type="button" image="ui-icon ui-icon-disk" />
<p:commandButton rendered="#{bean.edit}" value="Salvar"
onclick="salvar.show()" type="button" image="ui-icon ui-icon-disk" />
<p:confirmDialog widgetVar="salvar" header="Confirmação"
message="Deseja salvar esta Pessoa?" showEffect="explode"
hideEffect="explode" severity="alert" modal="false">
<p:commandButton value="Sim" update="mensagens, comp, avisos"
ajax="false" onclick="salvar.hide()"
actionListener="#{bean.salvar}" />
<p:commandButton value="Não" onclick="salvar.hide()" type="button" />
</p:confirmDialog>
<p:commandButton value="Listar"
action="#{bean.redirecionaListar}" ajax="false"
immediate="true" image="ui-icon ui-icon-note"></p:commandButton>
</p:panel>
<p:tabView effect="opacity" effectDuration="normal"
style=" width: 900px">
<p:tab title="Documentos">
<table cellpadding="1px">
<tr>
<td><h:outputText value="CPF *" /></td>
<td><p:inputMask mask="999.999.999-99" value="#{bean.pessoaFisica.pesCpf}" /></td>
<td><h:outputText value="Nome Pai" /></td>
<td><p:inputText title="Informe o nome do pai desta pessoa" value="#{bean.pessoaFisica.pesNomePai}"
maxlength="60" /></td>
<td><h:outputText value="Nome Mãe" /></td>
<td><p:inputText title="Informe o nome da mãe desta pessoa" value="#{bean.pessoaFisica.pesNomeMae}"
maxlength="60" /></td>
</tr>
<tr>
<td><h:outputText value="RG" /></td>
<td>
<p:inputMask title="Informe o Registro Geral desta pessoa(Somente Números)" maxlength="60"
value="#{bean.pessoaFisica.pesRg}"
mask="?99999999999999999999" />
</td>
<td><h:outputText value="Órgão Emissor (rg)" /></td>
<td><p:inputText title="Informe o órgão emissor do RG" value="#{bean.pessoaFisica.pesOrgaoExpRg}"
maxlength="60" /></td>
<td><h:outputText value="Data Emissão (rg)" /></td>
<td><p:calendar pattern="dd/MM/yyyy" yearRange="100" navigator="true"
display="inline" title="Informe a data de emissão do rg" value="#{bean.pessoaFisica.pesDataExpRg}" /></td>
</tr>
<tr>
<td><h:outputText value="Estado Civil *" /></td>
<td><p:selectOneMenu effect="drop" style="width:210px"
value="#{bean.pessoaFisica.pesEstadoCivil}" converter="estadoCivilConverter" >
<f:selectItem itemLabel="Selecione Estado Civil" />
<f:selectItems value="#{bean.lista}" var="prod"
itemLabel="#{prod.estNome}" itemValue="#{prod}" />
</p:selectOneMenu></td>
</tr>
</table>
</p:tab>
<p:tab title="Endereço">
<table cellpadding="1px">
<tr>
<td><h:outputText value="Endereço" /></td>
<td colspan="5"><p:inputText style="width:760px;"
title="Informe o Endereçodesta pessoa" maxlength="60" value="#{bean.pessoa.pesEndereco}" /></td>
</tr>
<tr>
<td><h:outputText value="Número" /></td>
<td><p:inputText title="Informe o número do endereço desta pessoa"
maxlength="60" value="#{bean.pessoa.pesEnderecoNumero}" /></td>
<td><h:outputText value="CEP" /></td>
<td><p:inputMask mask="99.999-999" title="Informe o CEP do endereço desta pessoa"
value="#{bean.pessoa.pesEnderecoCep}" /> </td>
<td><h:outputText value="Bairro" /></td>
<td><p:inputText title="Informe o bairro onde reside esta pessoa"
maxlength="60" value="#{bean.pessoa.pesEnderecoBairro}" /></td>
</tr>
<tr>
<td><h:outputText value="Complemento" /></td>
<td colspan="5"><p:inputText
title="Informe um complemento para o endereço desta pessoa" value="#{bean.pessoa.pesEnderecoComplemento}"
style="width:760px;" maxlength="60" /></td>
</tr>
</table>
</p:tab>
<p:tab title="Tipo Pessoa">
<p:pickList value="#{bean.tiposPessoas}" var="tip"
itemLabel="#{tip.tipNome}" itemValue="#{tip.tipCodigo}"
converter="tipoPessoaConverter" required="true" requiredMessage="Necessário escolher pelo menos um tipo para esta pessoa."
effect="bounce">
<f:facet name="sourceCaption">Tipos Disponíveis</f:facet>
<f:facet name="targetCaption">Tipos Pertencentes</f:facet>
</p:pickList>
</p:tab>
</p:tabView>
</h:form>
</center>
</ui:define>
</ui:composition>
</html>