Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Aula 2) Pode ser sua dúvida também: LivroBean e livroBean

Como não foi explicado no inicio do curso achei legal compartilhar uma dúvida que tive pois pode ser a dúvida de outros.

Na Aula 2 é criada a classe @ManagedBean chamada de LivroBean (reparem que o L é maiusculo). Porém no arquivo .xhtml, tanto o campo "value" do inputText quanto o campo "action" do commandButton chama #{livroBean} com L minúsculo.

Isso ocorre pois quando voce colocar livroBean (com L minusculo) dentro de uma EL (Expression Language) o JSF entende que voce esta instanciando um objeto da classe LivroBean. É como voce estivesse executando:

LivroBean livroBean = new LivroBean();

Caso voce coloque no commandButton, dentro do EL o comando LivroBean (com L maiuscula) exatamente o nome da classe ManagedBean é gerado um erro:

Espero ter ajudado e caso alguem queira complementar alguma informação sinta-se a vontade.

Abraços.

1 resposta
solução!

Oi Leandro, é isso mesmo!

A anotação @ManagedBean possui um atributo chamado named(), no qual podemos dar um nome ao Bean, não precisando ser o nome da classe. Caso não seja passado esse atributo o JSF pega o nome da classe e coloca o primeiro caractere em minúsculo, ficando exatamente como no seu exemplo.

Caso alguem tenha interesse na documentação, segue o link: http://docs.oracle.com/javaee/6/api/javax/faces/bean/ManagedBean.html

abraço!