В моем файле .xhtml есть следующий код
<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>
И когда страница отображается. И пользователь нажимает ссылку addSchedule. Я ожидаю, что повторение пользовательского интерфейса добавит новый div class = "term"
с пустыми значениями привязываются к входам, потому что:
public void addCourse(){
Course course = new Course();
courses.add(course);
}
Я добавляю новый объект Course с нулевой ценой AdditionalInfo и датой в список, используемый пользовательским интерфейсом: repeat.
Вместо этого я получаю новый
<div class="term">
часть со значениями, скопированными из предыдущей записи.
Когда я удаляю элемент из списка (в managedBean удаляется соответствующий объект из списка), я вижу данные из только что удаленного объекта: /
Кто-нибудь сталкивался с такой проблемой?
Есть ли у вас какие-либо рекомендации?