Как создать динамические поля формы JSF

Я нашел несколько похожих вопросов, таких какэтот один, однако есть так много способов, которыми это может быть сделано, что это сделало меня более смущенным.

Мы получаемXML файл, который мы читаем. этоXML содержит информацию о некоторых полях формы, которые необходимо представить.

Итак, я создал этот кастомDynamicField.java которая имеет всю необходимую нам информацию:

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.
}

Итак, у нас естьList<DynamicField>.

Я хочу перебрать этот список и заполнить поля формы, чтобы он выглядел примерно так:

<h:dataTable value="#{dynamicFields}" var="field">
    <my:someCustomComponent value="#{field}" />
</h:dataTable>

<my:someCustomComponent> будет затем возвращать соответствующие компоненты формы JSF (то есть метка, inputText)

Другой подход заключается в том, чтобы просто отобразить<my:someCustomComponent> и тогда это вернетHtmlDataTable с элементами формы. (Я думаю, что это может быть проще сделать).

Какой подход лучше? Может кто-то показать мне некоторые ссылки или код, где он показывает, как я могу создать это? Я предпочитаю полные примеры кода, а не ответы типа «Вам нужен подклассjavax.faces.component.UIComponent».

Ответы на вопрос(2)

Ваш ответ на вопрос