Trafegar dados entre beans

Boa tarde pessoal. Preciso de uma explicação sobre tráfego de dados entre beans. Procurei alguns exemplos e inclusive achei um no fórum. O cara postou, e depois ele mesmo resolveu e não colocou a solução. Há um bean onde eu construo um objeto, porem preciso recuperar esse objeto em outro bean para exclusão.
No segundo bean fiz uma instância do primeiro bean pedindo para recuperar os dados que passei via primeira página JSF.

Coloquei os dados para consulta. Nesta página escolhi o objeto correspondente do grid e armazenei nesse bean e chamei outra página JSF pra confirmar a exclusão. Mas ao debugar vi que o segundo bean não consegue buscar o objeto armazenado no primeiro, mesmo usando saveState na página anterior.

Isso deve ter alguma coisa haver com ciclo de vida de requisição. Alguém poderia me explicar?

pessoal, já testei o código aqui mas continuo na mesma.

Tenho um grid onde seleciono um objeto para excluir e um bean responsável por buscar o id desse objeto. Nesse bean eu localizo o objeto, construo, e mando ir para outra página que deveria (mas não consegue) carregar os dados do outro bean.

Seguem os códigos pra ver se alguém me dá uma luz:

Clico na linha correspondente no grid e chamo esse método que no bean localiza o objeto.

@SuppressWarnings("static-access")
	public String redirecionaExclusaoTipoMotivo(){
		FacesContext facesContext = FacesContext.getCurrentInstance();
		@SuppressWarnings("rawtypes")
		Map param = facesContext.getExternalContext().getRequestParameterMap();
		setIdTipoMotivo(Long.parseLong(((String) param.get("excluitpmv"))));
		
		try {
			setTpmv(this.getLookUp().getTipoMotivoService().findTipoMotivoByIdTipoMotivo(this.getIdTipoMotivo()));
		} catch (SgirIntegrationLookUpException e) {
			FacesMessage message = MessageUtils.getMessageFromBundle(
			FacesMessage.  SEVERITY_ERROR, 
			Mensagens.erro_integracao_lookup, "");
			FacesContext.getCurrentInstance().addMessage(null, message);
		} catch (SgirException e) {
			FacesMessage message = MessageUtils.getMessageFromBundle(FacesMessage.SEVERITY_ERROR,
			Mensagens.erro_geral, "");		
			FacesContext.getCurrentInstance().addMessage(null, message);
		}
		
		return "cTipoMotivo";
		
	}

Na página cTipoMotivo

tenho que referenciar os dados da consulta no bean anterior e aproveitar esses dados pra passar pra um outro bean de exclusão.
Só que quando eu chamo a página cTipoMotivo, não aparecem os dados.

Mais ou menos eu entendo que é pq eu preciso chamar esse bean em algum lugar antes da página ser exibida. Mas onde eu chamaria esse bean?

Vê se esse codigo ai resolve.

((ExemploBean) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("exemploBean")).getAlgumaCoisa();

Eu acho que funciona dependendo o escopo do bean que tu quer “chamar” o valor.
Nesse caso ai eu testei pra um bean com SessionScoped

já resolvi…problemas de mapeamento no faces-config, como sempre…
rsrs

Amigo, to com o mesmo problema, como você resolveu?