【问题标题】:Dynamically created Div did not get updated after calling rerender event调用重新渲染事件后动态创建的 Div 没有得到更新
【发布时间】:2013-03-02 16:51:52
【问题描述】:

我正在使用 RichFaces 3.3.x 和 Tomahawk。我有一个在 onkeyup 上有 a4j:support 的输入字段,我正在使用“进程”来更新支持 bean。之后,我使用“reRender”来获取我的支持 bean(新)创建的 div。不幸的是,会话范围 bean 创建的 Div 的 getter 没有被调用!我该怎么办?

<t:inputText id="searchString"
    value="#{beans.searchString}"
    onkeydown="if (event.keyCode == 13) { return false; }">
    <a4j:support event="onkeyup" requestDelay="200" ajaxSingle="true"
        reRender="resultsDiv" eventsQueue="quicksearchqueue"
        ignoreDupResponses="true"
        process="searchString" 
    />
</t:inputText>
<t:div id="results" binding="#{bean.resultsDiv}" />

【问题讨论】:

    标签: jsf richfaces tomahawk rerender


    【解决方案1】:

    首先,您在 a4j:support 中放入 reRender 的 id 是“resultsDiv”,它不同于 . 如果这不是问题的根源,请尝试将要在 ajax 中更新的区域放在 ajax 呈现的 outputPanel 中,例如:

    <a4j:outputPanel id="resultsDiv" ajaxRendered="true" >
      <t:div id="results" binding="#{bean.resultsDiv}" />
    </a4j:outputPanel>
    

    当然在 a4j 的 reRender 值中使用 outputPanel 的 id:support

    【讨论】:

      【解决方案2】:

      除了上面代码中的错误ID,我遇到了同样的问题。我使用 rich:tree 和 reRender 属性来重新渲染动态生成的 div 组件。它根本不起作用。如果你使用 rich:panel 而不是 div 组件,它会正常工作:

      <t:inputText id="searchString"
          value="#{beans.searchString}"
          onkeydown="if (event.keyCode == 13) { return false; }">
          <a4j:support event="onkeyup" requestDelay="200" ajaxSingle="true"
              reRender="results" eventsQueue="quicksearchqueue"
              ignoreDupResponses="true"
              process="searchString" 
          />
      </t:inputText>
      <rich:panel id="results" binding="#{bean.yourPanel}" />
      

      在 backing bean 中,您将生成的 div 作为子组件放入富面板组件,如下所示:

      yourPanel.getChildren().add(yourGeneratedDiv);
      

      我不知道为什么它不能与 t:div 组件一起使用。对此的任何回答将不胜感激。

      【讨论】:

        猜你喜欢
        • 2023-01-28
        • 2019-09-27
        • 1970-01-01
        • 2021-02-13
        • 1970-01-01
        • 2023-03-13
        • 2019-06-17
        • 2014-05-29
        • 1970-01-01
        相关资源
        最近更新 更多