Ajax ui:重复-从列表中添加/删除元素无法正常工作
我的.xhtml文件中有以下代码Ajax ui:重复-从列表中添加/删除元素无法正常工作,ajax,jsf-2,facelets,mojarra,uirepeat,Ajax,Jsf 2,Facelets,Mojarra,Uirepeat,我的.xhtml文件中有以下代码 <h:form id="registration3Form"> <h:panelGroup id="terms_outer_panel"> <h:commandLink styleClass="item-7" action="#{registerBusinessWizardController.addCourse}" value="#{msgB
<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>
我正在将价格为空的新课程对象additionalInfo和日期添加到ui:repeat使用的列表中
相反,我得到了新的
<div class="term">
具有从上一个条目复制的值的零件
当我从managedBean中的列表中删除元素时,列表中的适当对象被删除,我看到刚刚删除的对象中的数据:/
有人遇到过这样的问题吗?
你有什么建议吗 这似乎是另一个bug。莫哈拉的问题太多了。第一步是通过将组件替换为完整的UIData组件(如)来排除可疑组件。如果它能工作,那么它肯定是中的一个bug,否则它只是您自己代码中的一个bug,根据给出的代码,我没有看到任何bug,但是我假设您的bean是@viewscope
如果它确实是由自身引起的,那么第一步通常是升级到最新的Mojarra版本。Servlet2.5容器的版本是2.0.6,Servlet3.0容器的版本是2.1.4。如果这还不能解决问题,那么您应该考虑替换Mojara,它有一个不同的更好的实现。如果由于某种原因这不是一个选项,那么您应该考虑查看一个第三方组件库,该库具有基于UIDATA的组件,该组件不提供任何标记,例如 < P>这似乎是另一个错误。莫哈拉的问题太多了。第一步是通过将组件替换为完整的UIData组件(如)来排除可疑组件。如果它能工作,那么它肯定是中的一个bug,否则它只是您自己代码中的一个bug,根据给出的代码,我没有看到任何bug,但是我假设您的bean是@viewscope
如果它确实是由自身引起的,那么第一步通常是升级到最新的Mojarra版本。Servlet2.5容器的版本是2.0.6,Servlet3.0容器的版本是2.1.4。如果这还不能解决问题,那么您应该考虑替换Mojara,它有一个不同的更好的实现。如果由于某种原因这不是一个选项,那么您应该考虑查看一个第三方组件库,该库具有基于UIDATA的组件,该组件不提供任何标记,例如.。
<div class="term">