Segue o meu arquivo managed bean atentando-se no método AlterarVisitante
package application;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Vector;
import domain.Endereco;
import domain.Telefone;
import domain.Visitante;
import email.ConfirmacaoCadastroVisitante;
import repository.DAOPessoa;
import repository.DAOTelefone;
import repository.DAOVisitante;
public class MgrVisitante {
private Endereco endereco;
private Visitante visitante;
private Telefone telefone1, telefone2, telefone3;
private Vector telefones;
public MgrVisitante(){
endereco = new Endereco();
visitante = new Visitante();
telefone1 = new Telefone();
telefone2 = new Telefone();
telefone3 = new Telefone();
telefones = new Vector();
}
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
public Visitante getVisitante() {
return visitante;
}
public void setVisitante(Visitante visitante) {
this.visitante = visitante;
}
public Telefone getTelefone1() {
return telefone1;
}
public void setTelefone1(Telefone telefone1) {
this.telefone1 = telefone1;
}
public Telefone getTelefone2() {
return telefone2;
}
public void setTelefone2(Telefone telefone2) {
this.telefone2 = telefone2;
}
public Telefone getTelefone3() {
return telefone3;
}
public void setTelefone3(Telefone telefone3) {
this.telefone3 = telefone3;
}
public Vector getTelefones() {
return telefones;
}
public void setTelefones(Vector telefones) {
this.telefones = telefones;
this.telefones.add(telefone1);
this.telefones.add(telefone2);
this.telefones.add(telefone3);
}
public String addVisitante() {
String action = null;
DAOPessoa daoPessoa = new DAOPessoa();
if (visitante.getNome().trim().length()>2
&& visitante.getEmail().trim().length()>5
&& visitante.getDataNascimento().trim().length()>6
&& visitante.getProfissao().trim().length()>4
) {
//Formata o campo data de nascimento
String dia, mes, ano;
dia = visitante.getDataNascimento().substring(0, 2);
mes = visitante.getDataNascimento().substring(3,5);
ano = visitante.getDataNascimento().substring(6, 10);
visitante.setDataNascimento(ano+"/"+mes+"/"+dia);
try {
//Se já existe e-mail cadastrado
if (daoPessoa.getIdPessoa(visitante.getEmail())>0) {
action = "emailJaCadastrado";
}
else {
action = "addActionTrue";
DAOVisitante daoVisitante = new DAOVisitante();
telefones.add(telefone1);
telefones.add(telefone2);
telefones.add(telefone3);
//Salva as informações no banco
daoVisitante.Save(visitante, endereco, telefones);
//ConfirmacaoCadastroVisitante email = new ConfirmacaoCadastroVisitante();
//email.sendEmail(visitante.getNome(), visitante.getEmail());
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else action = "addActionFalse";
return action;
}
public String alterarVisitante() {
String action = null;
DAOVisitante daoVisitante = new DAOVisitante();
System.out.println("email = "+visitante.getEmail());
action = "alterarVisitante";
return action;
}
}
Agora, seguem as minhas páginas que deveriam uma enviar para a outra os dados das classes Visitante.
Página emailJaCadastrado
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
<title>Erro</title>
</head>
<body>
<f:view>
<h2>O email informado <h:outputText value="#{MgrVisitante.visitante.email}"></h:outputText> já está cadastrado em nossa base de dados, por favor altere-o ou solicite a alteração de dados de visitante.<br><br><h:form>
<h:outputLink value="visitante.jsp">
<f:verbatim>Voltar</f:verbatim>
</h:outputLink><br>
<br></br>
<h:commandButton value="Alterar Visitante" action="#{MgrVisitante.alterarVisitante}"/>
</h:form></h2>
</f:view></body>
</html>
página de alteração de visitante
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Alterar Visitante</title>
</head>
<body>
<f:view>
<h:form>
<h1>Alterar Visitante</h1>
<br>
Nome <h:inputText value="#{MgrVisitante.visitante.nome}" style="width: 238px"></h:inputText><br>
Data de Nascimento <h:inputText value="#{MgrVisitante.visitante.dataNascimento}" style="width: 103px"></h:inputText></br>
Profissão <h:inputText value="#{MgrVisitante.visitante.profissao}" style="width: 217px"></h:inputText></br>
<h:selectBooleanCheckbox value="#{MgrVisitante.visitante.recebeInformativo}"></h:selectBooleanCheckbox>
Desejo receber informativos sobre o Portal Cepai</br><br>
Logradouro <h:inputText value="#{MgrVisitante.endereco.logradouro}" style="width: 307px"></h:inputText><br>
Número <h:inputText value="#{MgrVisitante.endereco.numero}" style="width: 104px"></h:inputText><br>
Complemento <h:inputText value="#{MgrVisitante.endereco.complemento}" style="width: 259px"></h:inputText><br>
CEP <h:inputText value="#{MgrVisitante.endereco.cep}" style="width: 109px"></h:inputText><br>
Cidade <h:inputText value="#{MgrVisitante.endereco.cidade}"></h:inputText>
UF <h:inputText value="#{MgrVisitante.endereco.uf}" style="width: 38px"></h:inputText><br><br>
DDD 1 <h:inputText value="#{MgrVisitante.telefone1.ddd}"></h:inputText><br>
Numero 1 <h:inputText value="#{MgrVisitante.telefone1.numero}"></h:inputText><br>
Tipo <h:selectOneMenu id="Telefone1" value="#{MgrVisitante.telefone1.tipo}">
<f:selectItem id="Residencial1" itemLabel="Residencial" itemValue="Residencial" />
<f:selectItem id="Comercial1" itemLabel="Comercial" itemValue="Comercial" />
<f:selectItem id="Celular1" itemLabel="Celular" itemValue="Celular" />
</h:selectOneMenu>
<br></br>
DDD 2 <h:inputText value="#{MgrVisitante.telefone2.ddd}"></h:inputText><br>
Numero 2 <h:inputText value="#{MgrVisitante.telefone2.numero}"></h:inputText><br>
Tipo 2 <h:selectOneMenu id="Telefone2" value="#{MgrVisitante.telefone2.tipo}">
<f:selectItem id="Residencial2" itemLabel="Residencial" itemValue="Residencial" />
<f:selectItem id="Comercial2" itemLabel="Comercial" itemValue="Comercial" />
<f:selectItem id="Celular2" itemLabel="Celular" itemValue="Celular" />
</h:selectOneMenu>
<br></br>
DDD 3 <h:inputText value="#{MgrVisitante.telefone3.ddd}"></h:inputText><br>
Numero 3 <h:inputText value="#{MgrVisitante.telefone3.numero}"></h:inputText><br>
Tipo 3 <h:selectOneMenu id="Telefone3" value="#{MgrVisitante.telefone3.tipo}">
<f:selectItem id="Residencial3" itemLabel="Residencial" itemValue="Residencial" />
<f:selectItem id="Comercial3" itemLabel="Comercial" itemValue="Comercial" />
<f:selectItem id="Celular3" itemLabel="Celular" itemValue="Celular" />
</h:selectOneMenu>
<br><br></br>
<h:commandButton value="addVisitante" action="#{MgrVisitante.addVisitante}"/>
</h:form>
</f:view>
</body>
</html>
Segue o meu faces-config.xml abaixo
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
version="1.2">
<managed-bean>
<managed-bean-name>
pessoaManager</managed-bean-name>
<managed-bean-class>
application.PessoaManager</managed-bean-class>
<managed-bean-scope>
session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>
loginBean</managed-bean-name>
<managed-bean-class>
login.LoginBean</managed-bean-class>
<managed-bean-scope>
session</managed-bean-scope>
</managed-bean>
<validator>
<display-name>
Validate Password</display-name>
<validator-id>
login.validatePassword</validator-id>
<validator-class>
login.validatePassword</validator-class>
</validator>
<managed-bean>
<managed-bean-name>
visitante</managed-bean-name>
<managed-bean-class>
domain.Visitante</managed-bean-class>
<managed-bean-scope>
session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>
telefone</managed-bean-name>
<managed-bean-class>
domain.Telefone</managed-bean-class>
<managed-bean-scope>
session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>
endereco</managed-bean-name>
<managed-bean-class>
domain.Endereco</managed-bean-class>
<managed-bean-scope>
session</managed-bean-scope>
</managed-bean>
<navigation-rule>
<display-name>
/cadastro/cadastro</display-name>
<from-view-id>/cadastro/cadastro.jsp</from-view-id>
<navigation-case>
<from-outcome>addSuccess</from-outcome>
<to-view-id>/cadastro/success.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>addFail</from-outcome>
<to-view-id>/cadastro/error.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>
/login/login</display-name>
<from-view-id>/login/login.jsp</from-view-id>
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/login/welcome.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>
visitante/visitante</display-name>
<from-view-id>/visitante/visitante.jsp</from-view-id>
<navigation-case>
<from-outcome>addActionTrue</from-outcome>
<to-view-id>/visitante/ok.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>addActionFalse</from-outcome>
<to-view-id>/visitante/erroPreenchimento.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>
visitante/visitante</display-name>
<from-view-id>
/visitante/visitante.jsp</from-view-id>
<navigation-case>
<from-outcome>emailJaCadastrado</from-outcome>
<to-view-id>
/visitante/emailJaCadastrado.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>
/visitante/emailJaCadastrado.jsp</from-view-id>
<navigation-case>
<to-view-id>
/visitante/alterarVisitante.jsp</to-view-id>
</navigation-case>
</navigation-rule><managed-bean>
<managed-bean-name>MgrVisitante</managed-bean-name>
<managed-bean-class>application.MgrVisitante</managed-bean-class>
<managed-bean-scope>
request</managed-bean-scope>
</managed-bean>
</faces-config>
As regras de navegação estão funcionando perefeitamente, porém eu gostaria que a página alteracaoVisitante aparece com os dados já preenchidos, mas isso não está ocorrendo. O que eu estou fazendo de errado???
Agradeço a ajuda!