JSF2 Richfaces 4.1动态选择valuechange事件未被调用 - 在另一个表单内

时间:2013-01-09 13:06:38

标签: ajax jsf select

我正在从一个表单调用弹出窗口。那个弹出窗口有另一种形式。弹出窗口显示但是弹出窗口中有一个选择框没有按预期工作。如果从支持bean动态填充选择框中的值,则不会为这些值调用值更改事件。该事件仅针对硬编码<selectItem />调用。请参阅下面的示例代码,因此仅针对itemLabel="1"itemLabel="2"调用fBean.onChange方法。

动态选择项值更改的生命周期阶段尚未完成: 第一次是以下阶段:

START PHASE RESTORE_VIEW 1
结束阶段RESTORE_VIEW 1
START PHASE RENDER_RESPONSE 6
END PHASE RENDER_RESPONSE 6

下一次以后,中间还会添加以下各个阶段:

    START PHASE APPLY_REQUEST_VALUES 2
    END PHASE APPLY_REQUEST_VALUES 2
    START PHASE PROCESS_VALIDATIONS 3
    END PHASE PROCESS_VALIDATIONS 3

我试过<a4j:log />, <h:messages />,浏览了http帖子,但不知道为什么会发生这种情况。将不胜感激任何帮助。感谢

<h:form id="aForm">
    <a4j:outputPanel>
        <a4j:commandLink value="show" actionListener="#{aBean.onClick}"
            limitRender="true" render=":fForm"
            oncomplete="#rich:component('fModalPanel')}.show();"/>  
    </a4j:outputPanel>    
</h:form>

<ui:include src="fPopup.xhtml"/>

<!-- Contents of fPopup.xhtml --> 

<rich:popupPanel id="fModalPanel" ...>
    <h:form id="fForm">
        <h:selectOneMenu value="#{fBean.selected}">
            <f:selectItems value="#{fBean.selectItems"/>
            <f:selectItem itemLabel="1" itemValue="1"/>
            <f:selectItem itemLabel="2" itemValue="2" />
            <a4j:ajax event="valueChange" 
                execute="@this" render="fSubPnl"
                limitRender="true"
                listener="#{fBean.onChange}"/>
        </h:selectOneMenu>

        <rich:panel id="fSubPnl">
            <h:outputText value="#{fBean.selected}" />
        </rich:panel>

    </h:form>

</rich:popupPanel>

1 个答案:

答案 0 :(得分:0)

Jsf很复杂,转移到Angularjs