Primefaces Wizard - Manter campos de etapa anterior [RESOLVIDO]

3 respostas
ferracin

Olá boa tarde, estou usando o Wizard do Primefaces e na etapa preencho os campos e valido os dados sem problemas, mas quando passo para a etapa 2 e e volto para a anterior os dados da etapa 1 somem, como faço para manter a anvegação pelas etapas? Alguem pode me ajudar

Arquivo XHTML

<h:form prependId="false">

			<p:wizard  nextLabel="Próximo" backLabel="Anterior" widgetVar="wiz" >

				<p:tab  id="paciente" title="Dados de Paciente" >
					<p:panel>
						<h:panelGrid columns="3">
							<h:outputLabel value="Nome paciente:* " for="nomePaciente" />
							<p:inputText id="nomePaciente" size="80" required="true"
								requiredMessage="Campo obrigatório: Nome paciente"
								value="#{pacienteBean.paciente.nomePaciente}" />
							<p:message for="nomePaciente" />

							<h:outputLabel value="Data Nascimento:* " for="nascimento" />
							<p:calendar id="nascimento" size="13" required="true"
								requiredMessage="Campo obrigatório: Data nascimento"
								pattern="dd/MM/yyyy" navigator="true" yearRange="1990"
								value="#{pacienteBean.paciente.dataNascimento}" />
							<p:message for="nascimento" />

							<h:outputLabel value="RG: " for="rg" />
							<p:inputText id="rg" size="20"
								value="#{pacienteBean.paciente.rg}" />
							<p:message for="rg" />

							<h:outputLabel value="Certidão Nascimento: " for="certidao" />
							<p:inputText id="certidao" size="20"
								value="#{pacienteBean.paciente.certidaoNascimento}" />
							<p:message for="certidao" />

							<h:outputLabel value="Nome da Mãe:* " for="nomeMae" />
							<p:inputText id="nomeMae" size="80" required="true"
								requiredMessage="Campo obrigatório: Nome da Mãe"
								value="#{pacienteBean.paciente.nomeDaMae}" />
							<p:message for="nomeMae" />

							<h:outputLabel value="Telefone:* " for="telefone" />
							<h:panelGroup>
								<p:inputMask mask="([telefone removido]" id="telefone" size="20"
									value="#{pacienteBean.paciente.telefone}" />
								<h:outputLabel value="  - Tel. recado?  " />
								<p:selectBooleanCheckbox value="#{pacienteBean.paciente.recado}" />
							</h:panelGroup>
							<p:message for="telefone" />

							<h:outputLabel value="Celular: " for="celular" />
							<p:inputMask mask="([telefone removido]" id="celular" size="20"
								value="#{pacienteBean.paciente.celular}" />
							<p:message for="celular" />

							<h:outputLabel value="Email: " for="email" />
							<p:inputText id="email" size="80"
								validator="#{validaEmailBean.validate}"
								value="#{pacienteBean.paciente.email}" />
							<p:message for="email" />

							<h:outputLabel value="Observações: " for="obs" />
							<p:inputTextarea id="obs" cols="80" rows="5"
								value="#{pacienteBean.paciente.observacoes}" />
							<p:message for="obs" />

						</h:panelGrid>
						<h:outputText value="* Campos obrigatórios" styleClass="smallText" />
					</p:panel>

				</p:tab>

				<p:tab id="endereco" title="Endereço">
					<p:panel>

						<h:panelGrid columns="3">
						
							<h:outputLabel value="Rua:* " for="rua" />
							<p:inputText id="rua" size="80" required="true"
								requiredMessage="Campo obrigatório: Rua"
								value="#{pacienteBean.endereco.rua}" />
							<p:message for="rua" />
								
						</h:panelGrid>
					</p:panel>
				</p:tab>

			</p:wizard>

		</h:form>

3 Respostas

vinnysoft

Olá!

Seu bean pacienteBean está configurado com qual escopo? O que funciona melhor pra este componente é o ViewScoped, onde ele mantém seu bean “vivo” enquanto vc estiver na mesma view.

Até +!

ferracin

Resolvido, tinha me esquecido de declarar o Scope do meu bean, muito obrigado

vinnysoft

:thumbup:

Criado 13 de dezembro de 2011
Ultima resposta 13 de dez. de 2011
Respostas 3
Participantes 2