Pessoal,
Estou inciando meus estudos em JSF e estou com a seguinte dúvida :
Qual a difereça entre BACKING BEANS e MANAGED BEANS ?
Agradece,
Max Carvalho
Pessoal,
Estou inciando meus estudos em JSF e estou com a seguinte dúvida :
Qual a difereça entre BACKING BEANS e MANAGED BEANS ?
Agradece,
Max Carvalho
Normalmente no backing bean tem apenas os atributos da tela e o managed bean os métodos que as actions irá disparar.
abraços.
Tambem fiquei com essa dúvida no começo e encontrei as seguintes referências:
http://forums.sun.com/thread.jspa?threadID=5369007
http://www.guj.com.br/posts/list/121363.java#657725
O primeiro link responde sua pergunta, o seguinte é um bônus ^^
Boa leitura.
Normalmente no backing bean tem apenas os atributos da tela e o managed bean os métodos que as actions irá disparar.abraços.
Ainda recomendo a leitura dos links que postei.
Normalmente no backing bean tem apenas os atributos da tela e o managed bean os métodos que as actions irá disparar.abraços.
(…) O que concluo com a sua resposta é que podemos “linkar” na view os métodos do ManagedBean as ações e esse contém BackingBeans com a responsabilidade de guardar os os atributos (devidamente “linkados”) da view.
(…)
Não entendi o que você quis dizer.
Normalmente no backing bean tem apenas os atributos da tela e o managed bean os métodos que as actions irá disparar.abraços.
(…) O que concluo com a sua resposta é que podemos “linkar” na view os métodos do ManagedBean as ações e esse contém BackingBeans com a responsabilidade de guardar os os atributos (devidamente “linkados”) da view.
(…)Não entendi o que você quis dizer.
<a4j:support event="onclick" action="#{MeuManagedBean.executarAlgo}"/>
Os valores que quero mandar para esses ManagedBeans (inputTexts, SelectOneMenu, etc etc) estão representados nos ManagedBeans por BackingBeans (como atributos do ManagedBean, por exemplo) ficando algo do tipo(esse backingbean pode mesmo ser uma string):
<h:inputText value="#{MeuManagedBean.backingBean.descricaoProduto}" />
Seguindo o exemplo quando eu executar o método “executarAlgo” ele pode acessar o atributo backingBean e usar a String “descricaoProduto”, que é o conteúdo do inputText.
Por ai vai.
Consegui ser claro?
Qualquer dúvida manda brasa e pergunta!
Abraços.
Normalmente no backing bean tem apenas os atributos da tela e o managed bean os métodos que as actions irá disparar.abraços.
(…) O que concluo com a sua resposta é que podemos “linkar” na view os métodos do ManagedBean as ações e esse contém BackingBeans com a responsabilidade de guardar os os atributos (devidamente “linkados”) da view.
(…)Não entendi o que você quis dizer.
Deixe-me explicar novamente.
Você tem um ou mais ManagedBean pra cada view registrados no facesconfig.xml.
Esses ManagedBeans tem as ações que essa view deve executar, correto? Algo como:<a4j:support event="onclick" action="#{MeuManagedBean.executarAlgo}"/>Os valores que quero mandar para esses ManagedBeans (inputTexts, SelectOneMenu, etc etc) estão representados nos ManagedBeans por BackingBeans (como atributos do ManagedBean, por exemplo) ficando algo do tipo(esse backingbean pode mesmo ser uma string):
<h:inputText value="#{MeuManagedBean.backingBean.descricaoProduto}" />Seguindo o exemplo quando eu executar o método “executarAlgo” ele pode acessar o atributo backingBean e usar a String “descricaoProduto”, que é o conteúdo do inputText.
Por ai vai.Consegui ser claro?
Qualquer dúvida manda brasa e pergunta!Abraços.
Entendi, foi claro sim. Foi isso que eu quis dizer na primeira mensagem rsrs.
Abraços.
IMHO, resumindo:
ManagedBeans são aqueles administrados pelo JSF e BackingBeans são todo o resto.
IMHO, resumindo:
ManagedBeans são aqueles administrados pelo JSF e BackingBeans são todo o resto.
Managed-bean é todo objeto gerenciado pelo Faces.
Backing-bean é o managed-bean que tem uma relação mais íntima com alguma página. É o “código por trás da view”, ou seja, conhece seus componentes, trata seus eventos e pode manipula-la quando necessário.
Um managed-bean que não é backing-bean geralmente é um objeto de negócio ou de transporte de dados.
IMHO, resumindo:
ManagedBeans são aqueles administrados pelo JSF e BackingBeans são todo o resto.
Eu tenho um conceito diferente:
- Managed-bean é todo objeto gerenciado pelo Faces.
Naquele primeiro link que postei diz que ambos são a mesma coisa.
Gosto mais daquela visão que explicitei aqui e também gostei muito dessa parte que você disse:
public class UsuarioBean {
// O usuário digita o nome na caixa de texto que existe na página.
private String nome;
// Getters e setters.
}
public class UsuarioBean {
private HtmlInputText nome;
// Getters e setters.
}