我想添加 PrimeFaces 组件,如 inputText
, calendar
等动态从bean。我尝试了几种可能的方法,但我无法从 bean 动态添加 PrimeFaces 组件。
看法:
<pe:dynaForm id="dynaForm" value="#{formGeneratorBean.model}" var="data">
<pe:dynaFormControl type="input" for="txt">
<p:inputText id="txt" value="#{data.value}" required="#{data.required}" />
In place of p:inputText
</pe:dynaFormControl>
</pe:dynaForm>
模型:
public FormGeneratorBean() {
model = new DynaFormModel();
DynaFormRow row = model.createRegularRow();
DynaFormLabel label11 = row.addLabel("Author", 1, 1);
DynaFormControl control12 = row.addControl(new BookProperty("Author",
true), "input", 1, 1);
label11.setForControl(control12);
}
最佳答案
将类型日历添加到您的 View
<pe:dynaFormControl type="calendar" for="cal" styleClass="calendar">
<p:calendar id="cal" value="#{data.value}" showOn="button"/>
</pe:dynaFormControl>
并且您的 addControl 方法应该设置类型日历,例如:
DynaFormControl control12 = row.addControl(new Field("Birth Date",
true), "calendar", 1, 1);
您可以将 pe:dynaFormControls 用于您想要的所有类型,并且只有在您添加与其相关的控件时才会显示它们。
关于jsf - 在 pe :dynaform from bean 中添加 PrimeFaces 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33804442/