I have found some similar questions like this one, however there are so many ways this can be done that it made me more confused.
We are getting an XML
file that we are reading. This XML
contains information on some form fields that needs to be presented.
So I created this custom DynamicField.java
that has all the information we need:
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.
}
So we have a List<DynamicField>
.
I want to iterate through this list and populate the form fields so it looks something like this:
<h:dataTable value="#{dynamicFields}" var="field">
<my:someCustomComponent value="#{field}" />
</h:dataTable>
The <my:someCustomComponent>
would then return the appropriate JSF form components (i.e. label, inputText)
Another approach would be to just display the <my:someCustomComponent>
and then that would return an HtmlDataTable
with form elements. (I think this is maybe easier to do).
Which approach is best? Can someone show me to some links or code where it shows how I can create this? I prefer complete code examples, and not answers like "You need a subclass of javax.faces.component.UIComponent
".
Question&Answers:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…