Binding JSF

Fala galera…

É o seguinte, estou estudando um pouco de JSF.
Achei bem interessante e como nunca trabalhei em nenhum projeto com este framework, gostaria de ouvir uma opinião de vocês.

No managed bean, declaramos as propriedades que serão setadas pelo JSF.

Por exemplo:

se eu tiver um <h:inputText> eu posso declarar uma propriedade String no managed bean que o JSF pega o valor deste input e seta na propriedade.

Outra alternativa é criar uma propriedade do tipo HtmlInputText no managed bean e fazer o binding com o jsp. Dessa forma eu posso recuperar o valor digitado pelo usuário e outras informações.

Gostaria de saber como vocês fazem. Criam uma propriedade string ou do tipo do componente? Qual a melhor maneira? Existe alguma situação que é melhor uma das duas formas?

Eu prefiro usar binding com os componentes, pois além de achar mais intuitivo fica fácil de se usar o modelo de eventos do JSF.

Não sei se existe uma forma que seja mais correta, mas eu acho que seja a de usar binding.

Até mais!