DynaForm Problems
Posted: 07 Mar 2017, 20:48
My DynaForm implementation is giving me all sorts of problems on primefaces 6. It seems like a very basic case that just isn't working
One is a stack overflow, the other is null data values in the controller after the form is submitted.
Another is that I'm only getting null data values back into my controller after the form is submitted.
My code looks something like this:
and my controller looks something like this:
my pom dependency is
One is a stack overflow, the other is null data values in the controller after the form is submitted.
Code: Select all
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at org.primefaces.extensions.component.base.AbstractDynamicData.getValue(AbstractDynamicData.java:109)
at org.primefaces.extensions.component.dynaform.DynaForm.invokeOnChildren(DynaForm.java:251)
at org.primefaces.extensions.component.base.AbstractDynamicData.invokeOnComponent(AbstractDynamicData.java:455)
My code looks something like this:
Code: Select all
<h:head>
<link type="text/css" rel="stylesheet" href="#{request.contextPath}/themes/bootstrap/skin.css"/>
</h:head>
<h:panelGrid columns="2" style="margin-top: 10px">
<p:commandButton value="Add Member" icon="ui-icon-arrowthickstop-1-w" onclick="PF('dlgAdd').show();">
<p:resetInput target="dlgAdd"/>
</p:commandButton>
<p:dialog header="Add Member" widgetVar="dlgAdd" resizable="false">
<h:panelGroup id="dynaFormGroup">
<p:messages id="messages" showSummary="true"/>
<pe:dynaForm id="dynaForm" value="#{memberViewController.model}" var="data" columnClasses="label-container, field-container">
<pe:dynaFormControl type="input" for="txt">
<p:inputText id="txt" value="#{data.value}" required="#{data.required}"/>
</pe:dynaFormControl>
</pe:dynaForm>
</h:panelGroup>
</p:dialog>
</h:panelGrid>
<h:form id="form">
<pe:masterDetail
.
.
.
Code: Select all
@PostConstruct
public void init() {
memberView = MemberView.builder().build();
model = new DynaFormModel();
DynaFormRow row = model.createRegularRow();
DynaFormLabel label11 = row.addLabel("Last");
DynaFormControl control12 = row.addControl(new FormProperty("Last", false), "input");
label11.setForControl(control12);
}
Code: Select all
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>