Cómo crear campos de formulario JSF dinámicos
He encontrado algunas preguntas similares comoesta uno, sin embargo, hay tantas maneras en que esto se puede hacer que me confundió más.
Estamos recibiendo unXML
archivo que estamos leyendo. EstaXML
contiene información sobre algunos campos de formulario que deben presentarse.
Entonces creé esta costumbreDynamicField.java
que tiene toda la información que necesitamos:
public class DynamicField {
private String label; // label of the field
private String fieldKey; // some key to identify the field
private String fieldValue; // the value of field
private String type; // can be input,radio,selectbox etc
// Getters + setters.
}
Entonces tenemos unList<DynamicField>
.
Quiero recorrer esta lista y completar los campos del formulario para que se vea así:
<h:dataTable value="#{dynamicFields}" var="field">
<my:someCustomComponent value="#{field}" />
</h:dataTable>
los<my:someCustomComponent>
luego devolvería los componentes de formulario JSF apropiados (es decir, etiqueta, inputText)
Otro enfoque sería simplemente mostrar el<my:someCustomComponent>
y luego eso devolvería unHtmlDataTable
con elementos de forma (Creo que esto es quizás más fácil de hacer).
¿Qué enfoque es el mejor? ¿Alguien puede mostrarme algunos enlaces o códigos donde muestre cómo puedo crear esto? Prefiero ejemplos de código completos, y no respuestas como "Necesitas una subclase dejavax.faces.component.UIComponent
".