[RESOLVIDO]Campos estão sendo apagados após submeter com JSF

Prezados boa tarde.

Tudo bem ?

Tem está página que ainda está sendo criada:

<?xml version="1.0" encoding="UTF-8"?>

<ui:composition template="/WEB-INF/templates/layoutmaterialized.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:pe="http://primefaces.org/ui/extensions"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
xmlns:jsf=“http://xmlns.jcp.org/jsf”>

<ui:define name="titulo">PjFotografias</ui:define>


<ui:define name="corpo">

    <!-- START CONTENT -->
    <section id="content">

        <!--breadcrumbs start-->
        <div id="breadcrumbs-wrapper">

            <div class="container">
                <div class="row">
                    <div class="col s12 m12 l12">
                        <h5 class="breadcrumbs-title">Inserir Usuario</h5>
                        <ol class="breadcrumbs">
                            <li><a href="pages/principal/index.xhtml">Index</a></li>
                            <li><a href="#">Paginas</a></li>
                            <li class="active">Usuario</li>
                        </ol>
                    </div>
                </div>
            </div>
        </div>
        <!--breadcrumbs end-->


        <!--start container-->
        <div class="container">
            <div id="input-character-counter" class="section">

                <div id="modal3" class="modal">
                    <div class="modal-content teal white-text">
                        <p>Os campos obrigatórios são indentificados com *.</p>
                    </div>
                    <div class="modal-footer  teal lighten-4">
                        <a href="#" class="waves-effect waves-red btn-flat modal-action modal-close">OK</a>
                    </div>
                </div>
                <div class="row right">
                    <div class="input-field col s12">
                        <button class="btn blue-grey waves-effect waves-light right " onclick="Novo()">
                            Retornar
                            <i class="mdi-content-reply left"></i>
                        </button>

                        <button class="waves-effect waves-light btn modal-trigger  teal " href="#modal3">?</button>
                    </div>
                </div>
                <!--<p:growl id="msg" autoUpdate="true" sticky="false" life="5000"  />-->

                <h:form id="cadastro">

                    <!--Form Advance-->          
                    <div class="row">
                        <div class="col s12 m12 l12">
                            <div class="card-panel">
                                <p class="caption hide-on-small-only">Dados Pessoais</p>
                                <div class="divider col s12"></div>
                                <br></br>
                                <div class="row">
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="nome" value="Nome"/> 
                                        <p:inputText id="nome" value="#{usuariobeancadastro.pessoaTransfer.nomepessoa}"/>
                                        <p:message for="nome"/>
                                    </div>
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="cpf" value="CPF"  />
                                        <p:inputMask  id="cpf" value="#{usuariobeancadastro.pessoaTransfer.cpfpessoa}"  mask="999.999.999-99"/>
                                        <p:message for="cpf"/>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="email" value="Email" />
                                        <p:inputText  id="email" value="#{usuariobeancadastro.pessoaTransfer.emailpessoa}" type="email" />
                                        <p:message for="email"/>
                                    </div>
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="celular" value="Celular" />
                                        <p:inputMask id="celular" value="#{usuariobeancadastro.pessoaTransfer.celularpessoa}"  mask="(99)99999-9999"/>                                            
                                    </div>
                                </div>
                                <div class="row">                                                                                
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="sexo" value="Sexo"/>
                                        <h:selectOneMenu id="sexo" value="#{usuariobeancadastro.pessoaTransfer.sexopessoa}">
                                            <f:selectItem itemLabel="Selecione Sexo" itemValue="" ></f:selectItem>
                                            <f:selectItem itemLabel="Masculino" itemValue="M" ></f:selectItem>
                                            <f:selectItem itemLabel="Feminino" itemValue="F" ></f:selectItem>
                                        </h:selectOneMenu>
                                    </div>
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="nascimento" value="Nascimento"/>
                                        <p:inputText id="nascimento" type="date" value="#{usuariobeancadastro.pessoaTransfer.datanascimento}"  >
                                            <f:convertDateTime locale="pt-BR" pattern="yyyy-MM-dd"/>
                                        </p:inputText>
                                    </div>
                                </div>

                                <br></br>
                                <p class="caption hide-on-small-only">Endereço</p>
                                <div class="divider col s12"></div>
                                <br></br>
                                <div class="row">
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="cep" value="Cep" />
                                        <p:inputMask  id="cep" value="#{usuariobeancadastro.pessoaTransfer.cependereco}" mask="99999-999"/>
                                    </div>
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="logradouro" value="Logradouro" />
                                        <p:inputText id="logradouro" value="#{usuariobeancadastro.pessoaTransfer.logradouroendereco}"/>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="complemento" value="Complemento" />
                                        <p:inputText  id="complemento" value="#{usuariobeancadastro.pessoaTransfer.complementoendereco}"/>
                                    </div>
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="numeroendereco" value="Numero" />
                                        <p:inputText id="numeroendereco"  value="#{usuariobeancadastro.pessoaTransfer.numeroendereco}" type="number"/>
                                        <p:message for="numeroendereco"/>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="cidade" value="Cidade" />
                                        <p:inputText  id="cidade" value="#{usuariobeancadastro.pessoaTransfer.cidadeendereco}" />
                                    </div>
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="estado" value="Estado"/>
                                        <h:selectOneMenu id="estado" value="#{usuariobeancadastro.pessoaTransfer.estadoendereco}" >
                                            <f:selectItem itemLabel="Selecione Estado" itemValue=""/>
                                            <f:selectItem itemLabel="Acre" itemValue="AC" />
                                            <f:selectItem itemLabel="Alagoas" itemValue="AL" />
                                            <f:selectItem itemLabel="Amapá" itemValue="AP" />
                                            <f:selectItem itemLabel="Amazonas" itemValue="AM" />
                                            <f:selectItem itemLabel="Bahia" itemValue="BA" />
                                            <f:selectItem itemLabel="Ceará" itemValue="CE" />
                                            <f:selectItem itemLabel="Distrito Federal" itemValue="DF" />
                                            <f:selectItem itemLabel="Espírito Santo" itemValue="ES" />
                                            <f:selectItem itemLabel="Goiás" itemValue="GO" />
                                            <f:selectItem itemLabel="Maranhão" itemValue="MA" />
                                            <f:selectItem itemLabel="Mato Grosso" itemValue="MT" />
                                            <f:selectItem itemLabel="Mato Grosso do Sul" itemValue="MS" />
                                            <f:selectItem itemLabel="Minas Gerais" itemValue="MG" />
                                            <f:selectItem itemLabel="Pará" itemValue="PA" />
                                            <f:selectItem itemLabel="Paraíba" itemValue="PB" />
                                            <f:selectItem itemLabel="Paraná" itemValue="PR" />
                                            <f:selectItem itemLabel="Pernambuco" itemValue="PE" />
                                            <f:selectItem itemLabel="Piauí" itemValue="PI" />
                                            <f:selectItem itemLabel="Rio de Janeiro" itemValue="RJ" />
                                            <f:selectItem itemLabel="Rio Grande do Norte" itemValue="RN" />
                                            <f:selectItem itemLabel="Rio Grande do Sul" itemValue="RS" />
                                            <f:selectItem itemLabel="Rondônia" itemValue="RO" />
                                            <f:selectItem itemLabel="Roraima" itemValue="RR" />
                                            <f:selectItem itemLabel="Santa Catarina" itemValue="SC" />
                                            <f:selectItem itemLabel="São Paulo" itemValue="SP" />
                                            <f:selectItem itemLabel="Sergipe" itemValue="SE" />
                                            <f:selectItem itemLabel="Tocantins" itemValue="TO" />
                                        </h:selectOneMenu>
                                    </div>
                                </div>
                                <br></br>
                                <p class="caption hide-on-small-only">Dados Cadastrais</p>
                                <div class="divider col s12"></div>
                                <br></br>
                                <div class="row">
                                    <div class="col s12 m12 l12">
                                        <p:outputLabel for="usuario" value="Usuario" />
                                        <p:inputText  id="usuario" value="#{usuariobeancadastro.pessoaTransfer.usuariopessoa}"/>
                                        <p:message for="usuario"/>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="password" value="Senha" />
                                        <p:password  id="password" feedback="true"
                                                     promptLabel="Informe uma senha"
                                                     weakLabel="Muito fraca"
                                                     goodLabel="Senha razoável"
                                                     strongLabel="Senha forte" 
                                                     inline="true" match="senha" validatorMessage="A senha e a confirmação estão diferentes" value="#{usuariobeancadastro.pessoaTransfer.senhapessoa}"/>
                                        <p:message for="password"/>
                                    </div>
                                    <div class="col s6 m6 l6">
                                        <p:outputLabel for="senha" value="Confirme a senha" />
                                        <p:password id="senha"/>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="input-field col s4">

                                        <p:outputLabel value="Tipo:" for="radio"/>
                                        <br></br>
                                        <p:selectOneRadio id="radio" value="#{usuariobeancadastro.pessoaTransfer.tipopessoa}">
                                            <p>
                                                <f:selectItem itemValue="Cliente" id="cliente"/>
                                                <p:outputLabel for="cliente" value="Cliente"/>
                                            </p>


                                            <p>

                                            </p>
                                        </p:selectOneRadio>
                                    </div>
                                </div>
                                <br></br>


                                <div id="submit-button" class="section">
                                    <div class="row right">

                                        <div class="input field col s12 l12">
                                            <p:commandButton class="btn waves-light red waves-light" type="reset" value="Cancelar" action="#{usuariobeancadastro.limparAction()}"/>                                                
                                            <p:spacer width="10" height="10" />
                                            <p:commandButton ajax="true" validateClient="true" action="#{usuariobeancadastro.cadastrarAction()}" class="btn cyan darken-1 waves-effect waves-light mdi-action-perm-identity right" update=":cadastro" value="Cadastrar"/>
                                        </div>
                                    </div>
                                </div>
                                <br></br>
                            </div>

                        </div>
                    </div>

                </h:form>

            </div>
        </div>


        <!--end container-->
    </section>
    <!-- END CONTENT -->




    <script type="text/javascript">

        /*funcao para validar o meu tipo de data*/
        $(function () {
            $.validator.addMethod(
                    "date",
                    function (value, element) {
                        var bits = value.match(/([0-9]+)/gi), str;
                        if (!bits)
                            return this.optional(element) || false;
                        str = bits[1] + '/' + bits[0] + '/' + bits[2];
                        return this.optional(element) || !/Invalid|NaN/.test(new Date(str));
                    },
                    "Please enter date in valid format [dd/mm/yyyy]"
                    );
        });


        $(function () {

            $('#nascimento').pickadate({

                format: 'dd/mm/yyyy',
                formatSubmit: 'dd/mm/yyyy',
                hiddenPrefix: undefined,
                hiddenSuffix: '_submit',
                hiddenName: undefined,
                monthsFull: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
                monthsShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
                weekdaysFull: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sabádo'],
                weekdaysShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],
                today: 'Hoje',
                clear: 'Limpar',
                close: 'Pronto',
                labelMonthNext: 'Próximo mês',
                labelMonthPrev: 'Mês anterior',
                labelMonthSelect: 'Selecione um mês',
                labelYearSelect: 'Selecione um ano',
                selectMonths: true,
                selectYears: 15

            });


        });



    </script>



    <script type="text/javascript" language="javascript">

        function Novo() {

            swal({
                title: "Deseja ser Redirecionado para página Cadastrar Pessoa?",
                type: "info",
                showCancelButton: true,
                cancelButtonText: "Cancelar"
            },
                    function () {
                        alert('Tetse');
                        if (isconfirm === true) {
                            location.href = "pages/principal/login.xhtml";

                        }
                        ;
                    });
        }
        ;
    </script>
</ui:define>

</ui:composition>

Ao submeter ele está ficando limpo !
E os valores não são demonstrados e sim a minha label.

Postando imagem…

Setei o meu model como nulo para limpar os campos. Pois ao submeter não estou conseguindo limpar.

Obs.: estou pensando em remover o setPessoaTransfer(null); e verificar o que acontece com o meu método limpar;

Em relação a página como fica ao submeter:

Tanto Sexo como Estado ficam vazios !

Me deem uma ajuda favor !

Boa noite.

Não estou querendo criar uma lista para selectitem no mb. Alguém com alguma, ideia?

Pessoal, bom dia.
minha classe com as validações:

/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package br.com.fotografias.transfer;

import br.com.fotografias.anotations.ValidarCampos;
import br.com.fotografias.anotations.ValidarUsuario;
import java.util.Date;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

/**
*

  • @author BSI
    */
    public class PessoaTransfer extends BaseTransfer {

    private short idpessoa;

    @ValidarCampos(message = “INFORME USUARIO”)
    @NotEmpty(message = “INFORME USUARIO”)
    @Size(min = 5, max = 100, message = “O USUARIO SO DEVE TER {min} E {max} DE DIGITOS”)
    @ValidarUsuario(message = “USUARIO JA EXISTE”)
    private String usuariopessoa;

    @ValidarCampos(message = “INFORME SENHA”)
    @NotEmpty(message = “INFORME SENHA”)
    @Size(min = 5, max = 20, message = “A SENHA SO DEVE TER {min} E {max} DE DIGITOS”)
    private String senhapessoa;

    @ValidarCampos(message = “INFORME NOME”)
    @NotEmpty(message = “INFORME NOME”)
    @Size(min = 5, max = 100, message = “O NOME SO DEVE TER {min} E {max} DE DIGITOS”)
    private String nomepessoa;

    @ValidarCampos(message = “INFORME EMAIL”)
    @NotEmpty(message = “INFORME EMAIL”)
    @Size(min = 5, max = 100, message = “O EMAIL SO DEVE TER {min} E {max} DE DIGITOS”)
    @Pattern(regexp = “^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)(\.[A-Za-z]{2,})$”, message = “EMAIL INVALIDO”)
    @ValidarUsuario(message = “EMAIL JA EXISTE”)
    private String emailpessoa;

    @Pattern(regexp = “(^(\d{3}.\d{3}.\d{3}-\d{2})|(\d{11})$)”, message = “CPF INVALIDO”)
    @ValidarUsuario(message = “CPF JA EXISTE”)
    private String cpfpessoa;

    private String sexopessoa;
    private String celularpessoa;
    private String statuspessoa;
    private String tipopessoa;
    private String observacaopessoa;
    private String cependereco;
    private String complementoendereco;
    private String logradouroendereco;

    @Pattern(regexp = “^[0-9]+$”, message = “NUMERO INVALIDO”)
    private String numeroendereco;
    private String cidadeendereco;
    private String estadoendereco;

    private Date datacadastropessoa;

    private Date datanascimento;

    @Override
    public Short getId() {
    return idpessoa;
    }

    @Override
    public void setId(Short id) {
    this.idpessoa = id;
    }

    public String getUsuariopessoa() {
    return usuariopessoa;
    }

    public void setUsuariopessoa(String usuariopessoa) {
    this.usuariopessoa = usuariopessoa;
    }

    public String getSenhapessoa() {
    return senhapessoa;
    }

    public void setSenhapessoa(String senhapessoa) {
    this.senhapessoa = senhapessoa;
    }

    public String getNomepessoa() {
    return nomepessoa;
    }

    public void setNomepessoa(String nomepessoa) {
    this.nomepessoa = nomepessoa;
    }

    public String getCpfpessoa() {
    return cpfpessoa;
    }

    public void setCpfpessoa(String cpfpessoa) {
    this.cpfpessoa = cpfpessoa;
    }

    public String getSexopessoa() {
    return sexopessoa;
    }

    public void setSexopessoa(String sexopessoa) {
    this.sexopessoa = sexopessoa;
    }

    public String getCelularpessoa() {
    return celularpessoa;
    }

    public void setCelularpessoa(String celularpessoa) {
    this.celularpessoa = celularpessoa;
    }

    public String getStatuspessoa() {
    return statuspessoa;
    }

    public void setStatuspessoa(String statuspessoa) {
    if (statuspessoa.equalsIgnoreCase(“Ativo”)) {
    this.statuspessoa = “A”;
    } else {
    this.statuspessoa = “I”;
    }
    }

    public String getTipopessoa() {
    return tipopessoa;
    }

    public void setTipopessoa(String tipopessoa) {
    this.tipopessoa = tipopessoa;
    }

    public String getObservacaopessoa() {
    return observacaopessoa;
    }

    public void setObservacaopessoa(String observacaopessoa) {
    this.observacaopessoa = observacaopessoa;
    }

    public Date getDatanascimento() {
    return datanascimento;
    }

    public void setDatanascimento(Date datanascimento) {
    this.datanascimento = datanascimento;
    }

    public String getEmailpessoa() {
    return emailpessoa;
    }

    public void setEmailpessoa(String emailpessoa) {
    this.emailpessoa = emailpessoa;
    }

    public String getCependereco() {
    return cependereco;
    }

    public void setCependereco(String cependereco) {
    this.cependereco = cependereco;
    }

    public String getComplementoendereco() {
    return complementoendereco;
    }

    public void setComplementoendereco(String complementoendereco) {
    this.complementoendereco = complementoendereco;
    }

    public String getLogradouroendereco() {
    return logradouroendereco;
    }

    public void setLogradouroendereco(String logradouroendereco) {
    this.logradouroendereco = logradouroendereco;
    }

    public String getNumeroendereco() {
    return numeroendereco;
    }

    public void setNumeroendereco(String numeroendereco) {
    this.numeroendereco = numeroendereco;
    }

    public String getCidadeendereco() {
    return cidadeendereco;
    }

    public void setCidadeendereco(String cidadeendereco) {
    this.cidadeendereco = cidadeendereco;
    }

    public String getEstadoendereco() {
    return estadoendereco;
    }

    public void setEstadoendereco(String estadoendereco) {
    this.estadoendereco = estadoendereco;
    }

    public Date getDatacadastropessoa() {
    return datacadastropessoa;
    }

    public void setDatacadastropessoa(Date datacadastropessoa) {
    this.datacadastropessoa = datacadastropessoa;
    }

}

Problema com componente <p:commandButton>;
Foi alterado, para: <h:commandButton>.

A diferença nos dois botões basicamente é que o do PrimeFaces vem com Ajax e com CSS

@Mike! Por isso quando havia a submissão os campos como selectOneMenu desapareciam!

1 curtida