Passar parâmetro de um bem para outro

Boa noite,
mais uma vez volto aqui para pedir um help,
o problema de hj é o seguinte:
preciso enviar o id do registro selecionado para a tela em que farei o upload das imagens, porem au carregar a tela de upload os objetos vem como nulos.
abaixo segue o código:

Animais.xhtml

[code]
<h:form id=“lista”>
<h:messages />
<h:dataTable id=“tabela” value="#{animalBean.animais}" var=“animal”
rules=“rows” cellpadding=“5” rowClasses=“primeiro,ultimo”
headerClass=“cabecalho” styleClass=“tabela” >

	<f:facet name="footer">
                    ....
		<h:commandLink value="Inserir FOtos" action="#{animalBean.addFotos()}">
			<f:setPropertyActionListener target="#{fotoBean.foto.animal}" value="#{animal}" />
			<f:setPropertyActionListener target="#{animalBeam.animal}" value="#{animal}" />
		</h:commandLink>
	</f:facet>

	<h:column>
		<f:facet name="header">SELECIONE</f:facet>
		<h:selectBooleanCheckbox id="check" value="#{animalBean.selecionados[animal.id_animal]}" />
	</h:column>
	<h:column>
		<f:facet name="header">NOME</f:facet>
		<h:outputLabel value="#{animal.nome}" style="text-align:left; display:block;" />
	</h:column>
	<h:column>
		<f:facet name="header">SEXO</f:facet>
		<h:outputLabel value="#{animal.sexo eq(M)?'Masculino':'Feminino'}"	style="text-align:center; display:block;" />
	</h:column>
</h:dataTable>

</h:form>[/code]

método addFotos()

public String addFotos(){
	AnimalRN rn = new AnimalRN();
	int qtd = rn.qtdRegSelecionados(animais, selecionados);
	if(qtd > 1){
		mensagem = new FacesMessage("Selecione somente um Animal!");
	}else{
		if(qtd <= 0){
			mensagem = new FacesMessage("Selecione um Animal!");
		}else{
			return "AddFotos";//redireciona para página de uploadde imagens
		}
	}
	contexto.addMessage(null, mensagem);
	return null;
}

AddFotos.xhtml

[code]
<h:form>
//estas linhas abaixo servem para testar se os objetos do beam vem carregado.
<h:outputText value=“id da foto:”/>
<h:outputText value="#{fotoBean.foto.animal.id_animal}"/>
<h:outputText value=“ID” />
<h:outputText value="#{fotoBean.foto.animal.id_animal}" />

<p:panelGrid columns="2">
	<h:outputLabel value="Foto:" for="foto" />
	<p:fileUpload id="foto" fileUploadListener="#{fotoBean.uploadAction}" mode="advanced"  update="messages"  allowTypes="/(\.|\/)(gif|jpe?g|png)$/"/>
	<p:commandButton value="Inserir" action="#{fotoBean.salvar()}"/>
</p:panelGrid>
<p:growl id="messages" showDetail="true"/>

</h:form>[/code]

qualquer ajuda será bem vinda.

já debugou o addFotos()?

ele passa pelo if?

aqui vc escolhe o id ne? mas no como vc popula o bean p/ ser exibido na pagina AddFotosxhtml?

att

Qual o escopo do seu managedBean: fotoBean?

AnimalBean.java

@ManagedBean(name="animalBean")
@RequestScoped
public class AnimalBean {
	private Animal animal;
	private List<Animal> animais;
	private EnumSexo[] sexo;
	private EnumPorte[] porte;
	private EnumTipo[] tipo;
	private Map<Integer, Boolean> selecionados = new HashMap<Integer, Boolean>();

	FacesContext contexto = FacesContext.getCurrentInstance();
	FacesMessage mensagem = null;
	
	public AnimalBean() {
		this.animal = new Animal();
	}

	//Gets Setters

	public String addFotos(){
		AnimalRN rn = new AnimalRN();
		int qtd = rn.qtdRegSelecionados(animais, selecionados);
		if(qtd > 1){
			mensagem = new FacesMessage("Selecione somente um Animal!");
		}else{
			if(qtd <= 0){
				mensagem = new FacesMessage("Selecione um Animal!");
			}else{
				return "AddFotos";
			}
		}
		contexto.addMessage(null, mensagem);
		return null;
	}
}

FotoBean.java

@ManagedBean(name="fotoBean")
@SessionScoped
public class FotoBean {
	private Foto foto;
	private List<String> lista = new ArrayList<String>();
	private UploadArquivo arquivo;
	
	
	public FotoBean(){
		this.foto = new Foto();
		this.arquivo = new UploadArquivo();
	}

	//Geters Setters
}

pedruhenrik ,
eu ja debuguei, ele passa pelo if normalmente, porem quando carrega a pagina de add fotos o objeto animal e o objeto foto vem como se fosse uma nova instancia.

eu to populando os objetos assim:

<f:setPropertyActionListener target="#{fotoBean.foto.animal}" value="#{animal}" />  
<f:setPropertyActionListener target="#{animalBeam.animal}" value="#{animal}" />

dentro da tag <h:commandLink