我正在从一个表单调用弹出窗口。那个弹出窗口有另一种形式。弹出窗口显示但是弹出窗口中有一个选择框没有按预期工作。如果从支持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>
答案 0 :(得分:0)
Jsf很复杂,转移到Angularjs