Boa noite, tenho uma dúvida, criei um manager bean com escopo de conversation e quiz injetar em beans que estava no manager bean mas não propriamente injetar o managem bean, dá pra fazer isso?
Classe que inicia a conversaçao:
@Named("inicio")
@ConversationScoped
public class CIniciarConversation implements Serializable
{
private static final long serialVersionUID = 1L;
private String pagina;
@Inject
private Conversation conversation;
public CIniciarConversation()
{
pagina = "Iniciar e ir para Solicitante";
}
@PostConstruct
public void iniciar()
{
System.out.println(conversation);
}
public void lstNavegar(ActionEvent event)
{
}
public String actNavegar()
{
if (conversation.isTransient())
{
conversation.begin();
} else
{
conversation.end();
conversation.begin();
}
return "solicitante.jsf";
}
public String getPagina()
{
return pagina;
}
public void setPagina(String pagina)
{
this.pagina = pagina;
}
public Conversation getConversation()
{
return conversation;
}
public void setConversation(Conversation conversation)
{
this.conversation = conversation;
}
depois vou tentar injetar solicitante em produto, mas não funciona, alguém sabe pq?
[code]
@Named(“solicitante”)
@ConversationScoped
public class CSolicitante implements Serializable
{
private static final long serialVersionUID = 1L;
private String pagina;
@Inject
private Conversation conversation;
@Inject
private Solicitante solicitante;
public CSolicitante()
{
pagina = "Ir para produto";
}
@PostConstruct
public void iniciar()
{
System.out.println(conversation);
}
public void lstNavegar(ActionEvent event)
{
}
public String actNavegar()
{
solicitante = new Solicitante("Nykel Andersow");
return "produto.jsf";
}
public String getPagina()
{
return pagina;
}
public void setPagina(String pagina)
{
this.pagina = pagina;
}
public Conversation getConversation()
{
return conversation;
}
public void setConversation(Conversation conversation)
{
this.conversation = conversation;
}
public Solicitante getSolicitante()
{
return solicitante;
}
public void setSolicitante(Solicitante solicitante)
{
this.solicitante = solicitante;
}[/code]
[code]
@Named(“produto”)
@ConversationScoped
public class CProduto implements Serializable
{
private static final long serialVersionUID = 1L;
private String pagina;
@Inject
private Conversation conversation;
@Inject
private Produto produto;
public CProduto()
{
pagina = "Ir para Ocorrencia";
}
@PostConstruct
public void iniciar()
{
System.out.println(conversation);
}
public void lstNavegar(ActionEvent event)
{
}
public String actNavegar()
{
produto = new Produto("E-commerce Padrão");
return "ocorrencia.jsf";
}
public String getPagina()
{
return pagina;
}
public void setPagina(String pagina)
{
this.pagina = pagina;
}
public Conversation getConversation()
{
return conversation;
}
public void setConversation(Conversation conversation)
{
this.conversation = conversation;
}
public Produto getProduto()
{
return produto;
}
public void setProduto(Produto produto)
{
this.produto = produto;
}[/code]
meus beans estão assim:
public class Solicitante
{
private String nome;
public Solicitante(String nome)
{
super();
this.nome = nome;
}
public String getNome()
{
return nome;
}
public void setNome(String nome)
{
this.nome = nome;
}
@Override
public String toString()
{
return "Solicitante [nome=" + nome + "]";
}
}
public class Produto
{
private String descricao;
public Produto(String descricao)
{
super();
this.descricao = descricao;
}
public String getDescricao()
{
return descricao;
}
public void setDescricao(String descricao)
{
this.descricao = descricao;
}
@Override
public String toString()
{
return "Produto [descricao=" + descricao + "]";
}
}
obrigado…