I have following code in my .xhtml file
<h:form id="registration3Form">
<h:panelGroup id="terms_outer_panel">
<h:commandLink styleClass="item-7"
action="#{registerBusinessWizardController.addCourse}"
value="#{msgBundle['registerThirdPage.panel.addSchedule']}">
</h:commandLink>
<ui:repeat value="#{registerBusinessWizardController.courses}" var="course">
<h:panelGroup id="terms_inner_panel">
<div class="term">
<h:inputText id="price" styleClass="item-2" value="#{course.price}" />
<h:inputText id="dateFrom" styleClass="date" value="#{course.date}" >
<f:convertDateTime pattern="yy-MM-dd" type="date" dateStyle="long"/>
</h:inputText>
<h:inputTextarea value="#{course.additionalInfo}"/>
<p class="more">
<h:commandLink
value="#{msgBundle['registerThirdPage.panel.deleteSchedule']}"
actionListener="#{registerBusinessWizardController.removeCourse}">
<f:ajax render=":registration3Form:terms_outer_panel" execute="terms_inner_panel"/>
</h:commandLink>
</p>
</div>
</h:panelGroup>
</ui:repeat>
//some other stuff
</h:panelGroup>
</h:form>
And when page is rendered. And user clicks addSchedule link I expect that ui repeat will add new div class="term" with empty values bind to inputs, because:
public void addCourse(){
Course course = new Course();
courses.add(course);
}
I am adding new Course object with null price additionalInfo and date to the list used by ui:repeat.
Instead I get new
<div class="term">
part with values copied from previous entry.
When I remove element from list (In managedBean proper object from list is removed) I see data from object which was just removed :/
Did someone encounter this kind of problem? Do you have any advice?