圆形重新渲染富含:组合框

时间:2011-02-13 18:39:27

标签: jsf richfaces

我有JSF 1.2。 我有2个SelectOneMenues,都有SelectItem列表映射到租用公司ID。 (值为id,标签为name / code,具体取决于selectOneMenu)。

如果第二个selectOneMenu被更改,第一个获得正确的值,而不是另一个方式。接下来会发生两个selectOneMenus getter的调用,然后是他们的setter,然后又是他们的getter。导致最后的二传手计数。那是错的。为什么两个二传手都被召唤?! 我需要这样的行为:selectOneMenu更改导致另一个更新。

            <h:selectOneMenu style="width:100px;"
                value="#{idDetControl.companyId}" id="keyType1">
                <f:selectItem itemLabel="" itemValue="" />
                <f:selectItems value="#{GeneralTables.rentingCompanyNumbers}" />
                <a4j:support  event="onchange" reRender="keyType2" />
            </h:selectOneMenu>

            <h:outputText value="#{l.name}"/>

            <h:selectOneMenu style="width:100px;"
                value="#{idDetControl.companyId}" 
                id="keyType2" >
                <f:selectItem itemLabel="" itemValue="" />
                <f:selectItems value="#{GeneralTables.rentingCompanyNames}" />
                <a4j:support  event="onchange" reRender="keyType1" />
            </h:selectOneMenu>

1 个答案:

答案 0 :(得分:1)

两个组件都已提交,因为默认情况下会提交和处理整个表单。在a4j上设置ajaxSingle =“true”:支持仅处理该组件。顺便说一句,我看不到富有:使用了组合框。这也应该有所帮助:http://mkblog.exadel.com/2009/07/richfaces-region-partial-jsf-tree-processing/