【发布时间】:2012-08-16 03:52:50
【问题描述】:
我有一个<h:selectOneListbox>,当点击<h:commandbutton> 时出现。当用户从列表框中选择时,我希望所选值出现在 <h:inputText> 中并隐藏列表框。
我无法让 <h:selectoneListbox> 在出现后停止渲染。 rendered 属性在视图首次出现时工作正常,但在我单击列表并调用侦听器后被忽略。
有什么想法吗?
这是 Facelet:
<h:panelGroup>
<h:inputText id="TitleText" value="#{bindingScheduleHandler.title}"/>
<h:commandButton value="Clients" actionListener= #bindingScheduleHandler.clientList}" />
<h:selectOneListbox id="listBox" value="#{bindingScheduleHandler.clients}" size="5"
rendered="#{bindingScheduleHandler.showClients}">
<f:selectItems value="#{bindingScheduleHandler.clientLabelsValues}" />
<f:ajax event="click" listener="#{bindingScheduleHandler.clickListener}"
render="TitleText" />
</h:selectOneListbox>
</h:panelGroup>
这是支持 bean:
public void clickListener(AjaxBehaviorEvent event) {
this.title = clients;
showClients = false;
renderClientList = false;
}
【问题讨论】: