我有 2 个命令按钮和一个选择一个菜单。我需要根据选定的按钮和菜单中当前选定的项目调用 bean 方法。
<h:form id="form1">
<h:outputLabel value="menu:" />
<h:commandButton value ="en" action="#{bean.exec}" >
<f:setPropertyActionListener target="#{bean.menu}" value='en' />
</h:commandButton>
<h:commandButton value ="fr" action="#{bean.exec}" >
<f:setPropertyActionListener target="#{bean.menu}" value='fr' />
</h:commandButton>
<h:outputLabel value="id:" />
<h:selectOneMenu value="#{bean.id}">
<f:selectItems value="#{bean.idlist}" />
<f:ajax listener="#{bean.exec}" render ="form1" />
</h:selectOneMenu>
</h:form>
但是,虽然第一个按钮更新了我的属性并调用了操作方法,但第二个按钮给了我以下消息
警告:FacesMessage(s) 已入队,但可能尚未显示
并且视图不会在第一次单击时更新。但是,在第二次单击时,属性会立即更新,视图也会更新。
这是如何引起的,我该如何解决?