【问题标题】:JSF a4j:support Rerender on UI doesn't workJSF a4j:支持在 UI 上重新渲染不起作用
【发布时间】:2012-04-23 08:55:06
【问题描述】:

我正在开发 JSF a4j 组件。

<h:selectOneMenu id="sampleSelect" value="#{myBackingBean.id}"
    immediate="true">
    <f:selectItems value="#{myBackingBean.generateSampleList}"/>
    <h:outputLabel value="Sample List : " for="sampleSelect"></h:outputLabel>
    <a4j:support ajaxSingle="true" 
                 event="onchange" 
                 reRender="dataTable1, dataTable2, dataTable3"
                 oncomplete="setColorbox();" 
                 action = "#{myBackingBean.setSampleListForDatatables}">
    </a4j:support>  
    </h:selectOneMenu>  

和我的数据表一样

<h:panelGroup id="dataTable1">
    <h:dataTable value="#{myBackingBean.anotherBean.sampleList}" 
                 var="sampleList"
                 styleClass="table">
        <h:column>
            ....
        </h:column>
    </h:dataTable>
    </h:panelGroup>

我有 多个数据表 类似 在此 ajax 调用中更改,应该在完成 ajax 调用时重新呈现。

在服务器端数据已完美更改,但在 UI 上未修改。

出于检查目的我所做的是....已使用,

<h:column>
    <%=new java.util.Date()%>
</h:column>

在我的 ajax 调用后未修改的数据表中。

谁能给我建议?

从一些帖子中我知道我必须使用我已经完成的 immediate="true"。但没有运气。

【问题讨论】:

    标签: java ajax jsf ajax4jsf


    【解决方案1】:

    我得到了答案

    <h:dataTable value="#{myBackingBean.anotherBean.sampleList}" 
                 var="sampleList"
                 styleClass="table" 
                 id="dataTable1">
        <h:column>
            ....
        </h:column>
    </h:dataTable>
    

    我删除了 h:panelGroup 并将该 ID 放入 h:datatable 并且有效。 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-08
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      • 2013-07-18
      • 2011-07-27
      相关资源
      最近更新 更多