我正在向h:selectOneMenu
页面动态添加一个。但是对于 selectItems 不会调用 forlistener
方法,但如果从一开始就将其添加到页面中(不是使用属性动态添加),它确实可以工作。我的代码如下:f:ajax
h:selectOneMenu
update
(根据@Daniel 的建议更正)
<h:commandButton value="Watch">
<f:ajax render="deptsSelBox"/>
<f:setPropertyActionListener value="#{true}" target="#{listRetriever.allow}" />
</h:commandButton>
<h:panelGroup id="deptsSelBox">
<h:selectOneMenu id="deptsSel" rendered="#{listRetriever.allow}" value="#{listRetriever.reqId}">
<f:selectItems value="#{listRetriever.list}" />
<f:ajax listener="#{listRetriever.retrieve()}" execute="deptsSel" />
</h:selectOneMenu>
</h:panelGroup>