JSF 2 Duvida sobre manipulação dinâmica da camada de visão

É o seguinte pessoal, estou desenvolvendo uma forma de deixar a parte de CRUD do sistema totalmente genérica, a parte da view vou fazer através de annotation, por exemplo:
No model eu coloco:

@Campo(label="Nome:", tipo=CampoType.TEXTO)
private String nome;

E através dessa anotação o sistema gerar os cadastros, listas, etc…

<h:outputLabel for="nome" value="Nome:" />
<p:inputText id="nome" value="#{bean.entidade.nome}" />

A parte de annotation é tranquila, a minha dúvida é a seguinte, como eu faço mandar os campos para o xhtml através do bean?
Se eu tiver uma List de campos no bean e os modelos de campos pré definidos no view, ele só teria que fazer um for e ir substituindo os valores, só não sei como fazer isso =/

E ae cara, blz?

Da uma olhada nesse post: http://www.guj.com.br/java/269970-resolvido-jsf-2---formulario-com-conteudo-dinamico

Da pra fazer algo parecido com seu problema :slight_smile:

É bem por ai que eu estou fazendo, mas empaquei nessa parte:

<ui:repeat value="#{bean.campos}" var="c"> <h:outputLabel for="#{c.id}" value="#{c.label}" /> <p:inputText id="#{c.id}" value="#{bean.entidade.(c.id)}" /> </ui:repeat>

No caso o #{c.id} é o nome do atributo no model, como vou fazer para concatenar no value? =/

Hmmmm verdade…

Eu acho que ultima vez q quis fazer isso eu acabei fazendo uns esquemas bizarros de reflection na classe… e nem era JSF… acabei desistindo da ideia…

Po nesse caso então vou acabar acompanhando o tópico pra ver se alguem da outra ideia :oops:

O ui:repeat não tem como servir para isso, por exemplo, vamos supor que a classe tenha 2 atributos, nome e descricao:

<ui:repeat value="#{bean.campos}" var="c"> #{c.id} <p:inputText value="#{c.id}" /> </ui:repeat>

Ele vai mostrar na tela assim:
nome
descricao

Pois no campo value do inputText ele vai bindar os dados com o managedBean e pegar sempre o ultimo atributo…

Ninguém sabe outra forma de fazer isso?