Dúvida sobre @FacesConverter

6 respostas
jonas.cant

Se eu criar um converter sem declarar um “value” para ele, como abaixo:

@FacesConverter(forClass=Pais.class)

Ele atua automaticamente no componente sem a necessidade de especificar a propriedade converter=“nomeConverter”?
Por exemplo, ao invés de usar:

@FacesConverter(forClass=Pais.class, value="PaisConverter")
<p:selectOneMenu id="pais" value="#{clienteController.pais}" converter="PaisConverter"  >

Eu posso simplesmente criar e utilizar assim:

@FacesConverter(forClass=Pais.class)
<p:selectOneMenu id="pais" value="#{clienteController.pais}" >

Qual a melhor forma? Ou não existe melhor forma?

6 Respostas

Hebert_Coelho

A vantagem de usar com value é você determinar um converter específico para um componente.
A vantagem de usar o forClass é que você aplica o mesmo converter para todas as classes.

Fica a seu critério. [=

jonas.cant

E se eu utilizar desse jeito:

@FacesConverter(forClass=Pais.class, value=“PaisConverter”)

E no componente eu fizer assim:

<p:selectOneMenu id=“pais” value="#{clienteController.pais}" converter=“PaisConverter” >

Ele vai entrar duas vezes no converter?

Hebert_Coelho

jonas.cant:
E se eu utilizar desse jeito:

@FacesConverter(forClass=Pais.class, value=“PaisConverter”)

E no componente eu fizer assim:

<p:selectOneMenu id=“pais” value="#{clienteController.pais}" converter=“PaisConverter” >

Ele vai entrar duas vezes no converter?

Você tentou? Qual foi o resultado? [=

jonas.cant

O que eu sei é que o comportamento do converter muda. Gostaria de saber se tem lógica eu usar desse jeito:

@FacesConverter(forClass=Pais.class, value=“PaisConverter”)

<p:selectOneMenu id=“pais” value="#{clienteController.pais}" converter=“PaisConverter” >

Hebert_Coelho

jonas.cant:
O que eu sei é que o comportamento do converter muda. Gostaria de saber se tem lógica eu usar desse jeito:

@FacesConverter(forClass=Pais.class, value=“PaisConverter”)

<p:selectOneMenu id=“pais” value="#{clienteController.pais}" converter=“PaisConverter” >

Não vejo motivo para isso.

jonas.cant

Ok. Muito obrigado.

Criado 2 de abril de 2013
Ultima resposta 2 de abr. de 2013
Respostas 6
Participantes 2