É 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 
É 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?