Jsf não está mandando classes para outra página

0 respostas
R

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>  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!

Criado 15 de março de 2008
Respostas 0
Participantes 1