【问题标题】:jsf 2.0 update specific element inside ui:repeatjsf 2.0 更新 ui:repeat 中的特定元素
【发布时间】:2013-10-25 17:02:45
【问题描述】:

我在问如何实现更新循环的特定元素?

例如

<h:form>
    <ui:repeat var="element" value="#{bean.elements}" varStatus="status">
         <h:outputtext value="#{element.text}" id="#{element.id}" />
         <p:commandLink update="#{element.id}" >
             <h:outputtext value="UpdateTextField #{element.id}" />
         </p:commandLink>
    </ui:repeat>
</h:form>

我知道 status.index 在视图渲染后不起作用。此外,“动态”索引设置也不起作用,因为它的视图呈现...但是当单击按钮时,我如何实现它,它会更新(ajax)输出文本?这是否只能通过 c:forEach 实现?

它的 ViewScoped 和表单必须在循环之外。否则我会用 update="@form" 解决它,但这里不可能

感谢您的帮助!

【问题讨论】:

标签: ajax jsf primefaces jstl


【解决方案1】:

由于ui:repeat 和c:forEach 都为元素生成不同的动态组件ID,因此您无法保证从外部生成的所有项目中更新单个项目。

我认为解决此类问题的最佳方法是在 ui:repeat 或 c:forEach 本身周围放置一个 h:panelGroup 并更新 h:panelGroupitself。

【讨论】:

    猜你喜欢
    • 2011-04-17
    • 2011-08-02
    • 2011-06-07
    • 2013-05-11
    • 2012-09-29
    • 2012-05-29
    • 1970-01-01
    • 2018-07-18
    • 2016-11-14
    相关资源
    最近更新 更多