Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Dúvidas em JSF 2.

Ao assistir a segunda aula de JSF 2, continuei com algumas dúvidas:

1 - Porque é necessário utilizar a anotação "import javax.faces.bean.ManagedBean; @ManagedBean para controle pelo o JSF? e além disso, o que seria uma anotação?

2 - Porque utlizamos o atributo "for" para o seguinte código:

3 - Porque utlizamos o fieldset, se os componentes já estão agrupados ?

6 respostas

Thiago, boa tarde! Tudo bem?

Vamos tentar responder: 1- A utilização da anotação (@ManagedBean) é uma maneira de simplificar a indicação de que a classe indicada é uma classe ManagedBean, e que deve ser "gerenciada" pelo JSF.

Antes do JSF 2.0, essa configuração era feita no arquivo "faces-config.xml", onde você indicada os dados da classe a ser gerenciada pelo jsf (ManagedBean), e suas configurações (de escopo, nome, etc), como no exemplo abaixo:

...
    <managed-bean>
        <managed-bean-name>meuManagedBean</managed-bean-name>
        <managed-bean-class>br.com.alura.managedBeans.MeuManagedBean</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
...
  • Ao abrir a tag <managed-bean>, você indica que haverá uma classe gerenciada pelo JSF, e que você indicará suas configurações dentro dessa tag.
  • A tag <managed-bean-name> indica o nome que você utilizará no .xhtml (ou .jsp dependendo da aplicação) para indicar ao JSF que esse atributo (Ex:meuManagedBean.nome)ou método citado (Ex:meuManagedBean.abrir) pertence a classe que você havia mapeado.
  • A tag <managed-bean-class> é a indicação dos pacotes e da classe a qual o JSF deve procurar quando a página chamar por esse ManagedBean
  • A tag <managed-bean-scope> é a indicação do escopo dessa classe.

Com relação ao atributo "for", teria como você postar o trecho de código que você tem dúvida?

Também gostaria de um trecho de código de como você está utilizando o "fieldset", para poder tentar te ajudar.

Espero ter ajudado!

Boa noite Ana, obrigado pela ajuda. Com relação a esse mapeamento do managead bean era na vv ersão anterior certo? pois na 2.0 usamos anotações pelo o wue entendi.sobre o fieldset eu no texto das primeiras aulas de jsf. O sobre o for, aqui na comunidade .e disseram q quando clica no label, ele automaticamente redireciona para o label asso iado

solução!

Sim, era na versão anterior. Falei mais com o intuito de você entender que não veio do nada a "anotação". Mas, resumindo, é para o JSF entender que tem que "cuidar" dessas classes.

Com relação ao "fieldset", teria como você colocar o código aqui? Pois não estou fazendo esse curso, e ficaria mais rápido de eu tentar te ajudar.

Quanto a utilização do "for" é isso mesmo.

Espero ter ajudado novamente!

Oi Ana, Obrigado pela ajuda novamente. Com relação ao fieldset, segue o trecho de aula que fala sobre o fieldset: "Vamos definir um cabeçalho na página usando a tag h1. Além disso, usaremos um fieldset para agrupar os elementos do formulário com um título indicado pela tag legend. Visualizando mais uma vez no navegador, podemos perceber que o formulário já está mais organizado" No meu entender, fieldset é um agrupamento de campos em xhtml. Entretanto acho q deveria ter um maior aprofundamento desse recurso, pois se tivermos muitos fieldsets em uma xhml, como ficaria a organização na tela.... Segue um link que fala sucintamente sobre o assunto http://www.codigofonte.net/dicas/html/231_agrupando-elementos-do-formulario-usando-fieldset

.

.