【问题标题】:RichFaces nested forms ajax components UI renderRichFaces 嵌套表单 ajax 组件 UI 渲染
【发布时间】:2014-08-02 20:23:24
【问题描述】:

我在 UI 组件的 ajax 渲染上遇到问题 Richfaces - 4.3.2

XHTML 中的当前代码:

---表格...开始
带有 a4j ajax 事件的复选框组件。
---- 丰富:collapsiblePanel...开始
包含在另一个具有rich:extendedDataTable 组件的XHTML 表单中。
----丰富:collapsiblePanel...结束
.
.
多个可折叠面板。
.
---- 丰富:collapsiblePanel...开始
另一个 XHTML:
---形式...开始
丰富:扩展数据表组件。 具有另一种形式的灯箱组件
---形式...结束
----丰富:collapsiblePanel...结束
.

.
---形式...结束

当 ajax 事件发生时,

支持 bean 正在更新,但是当我单击灯箱时,它会保留并显示上次查看的报告,而不管我希望看到什么记录。
我尝试了很多方法,我得到的唯一解决方案是在外部指定 a4j 事件渲染列表中的所有表单 id。

因为我正在寻找通用的方式来做到这一点,而不是在外部提及所有表单 ID

对此的任何帮助都将受到高度评价!

【问题讨论】:

  • 您不应该使用嵌套表单。你能显示实际的代码吗?
  • 嵌套表单不能在一页上使用。从包含的片段中删除表单。使用ui:includeui:componentui:fragment
  • 我用了h:form标签,提到嵌套表单对应的是通过ui:include包含的rich:extendedDataTable表单
  • 将包含文件中的h:form替换为ui:component(文件为rich:extendedDataTable)并检查结果。
  • 是的,我试过了,但没有运气

标签: richfaces ajax4jsf


【解决方案1】:

是的...我可以解决这个问题:

移除所有嵌套表单(即,可折叠部分的表单,相应 XHTML 中的灯箱表单),引入 a4j:outputPanel 代替移除的带有 ajaxRendered="true" 属性的 h:form。

<a4j:outputPanel id="reportsTablePanel" layout="block" ajaxRendered="true">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多