Что является динамичным в Dynaform Primefaces Extension

Кто-нибудь знает, что такое Dynamic в Dynaform от Primefaces Extension. Кажется, в примере с динамической формой нет ничего динамичного. Насколько я могу судить, это просто форма с фиксированным макетом и фиксированными компонентами ввода. Не то, что я ожидал, учитывая заявление на первой странице:

Обычно мы можем построить форму довольно просто с помощью h: panelGrid или p: panelGrid, если известно количество строк / столбцов, позиции элементов и т. Д. Это верно для статических форм. Но невозможно использовать h: panelGrid или p: panelGrid, если форма описывается динамически во время выполнения. Например, если определение всей формы помещено в базу данных или файл XML.

DynaForm позволяет создавать динамические формы с метками, входами, выборками и другими элементами по модели. Другие улучшения: расширяемая расширенная область просмотра (сетка), функция автоматической отправки, клиентский API виджета, различные аспекты. Поддерживаемые аспекты

2 ответа

Решение

Один из авторов Расширения Primefaces объясняет это чуть более подробно в своем блоге: http://ovaraksin.blogspot.hu/2012/06/dynamic-forms-jsf-world-was-long.html.

Важной частью является:

Дочерний тег pe:dynaFormControl соответствует созданному в элементах управления Java атрибуту "type". Обычно это отношение "один ко многим".

Вы не определяете макет на странице xhtml, вы просто создаете некоторые пользовательские компоненты, на которые ссылаетесь в своем Java-коде.

В примере basicUsage вы можете увидеть это:

<pe:dynaFormControl type="calendar" for="cal">
    <p:calendar id="cal" value="#{data.value}" />
</pe:dynaFormControl>

Это создает тип элемента управления календаря, который реализуется с помощью p:calendar, Вы можете сослаться на это в своем бэке поддержки:

DynaFormControl control = row.addControl(property, "calendar", 1, 1); 

Я создатель этого компонента. Почему вы думаете, что макет исправлен? Это не исправлено, вы определяете макет в Java. Отображение между определенными в элементах управления / метками Java и элементами формы происходит по атрибуту "type". Конечно, все возможные элементы формы должны быть на странице, потому что их проще описать как теги в XHTML, а не создавать в Java. Представьте, что вы создадите SelectOneMenu в Java с SelectItems, Ajax-поведением, Action / ActionListener, множеством других атрибутов... Проще указать отображение 1-N, как в p:treeNode и TreeNode. Здесь то же самое - у вас есть pe:dynaFormControl и DynaFormControl. Изучите все примеры кода, пожалуйста.

Благодарю. Олег.

PS Мой последний пост в блоге об этом компоненте.

Другие вопросы по тегам