This example demonstrates how to build a simple dynamic form. Main steps:
- Create model instance: DynaFormModel model = new DynaFormModel();
- Add row to regular grid: DynaFormRow row = model.createRegularRow();
- Add label: DynaFormLabel label = row.addLabel(value, colspan, rowspan);
- Add editable control: DynaFormControl control = row.addControl(data, type, colspan, rowspan);
- Set relationship between label and control (optional): label.setForControl(control);
Repeat four last steps as many times as needed.
The main component tag is
pe:dynaForm. Child tag
pe:dynaFormControl matches created
in Java controls by
type attribute. This is usually a "one to many" relation.
You also see that one of important features is a buil-in support for labels. DynaForm renders labels automatically -
no need to write
p:outputLabel. But of course
h:outputText can be used as a quite
normal tag inside
pe:dynaFormControl with a proper
type as well.