0

我有 ap:selectOneMenu 组件,它以这种方式更新另一个组件:

<h:form id="formaComboInstrumento">                                
     <p:selectOneMenu value="#{CDat.instrumentoSeleccionado}">
         <f:selectItem  itemValue="" itemLabel="--Selecciona un examen--"/>
         <f:selectItems value="#{CDat.mapaInstrumentos.entrySet()}" var="var" itemValue="#{var.key}" itemLabel="#{var.value}" />     
         <p:ajax listener="#{CDat.cambioComboInstrumento}" update=":subtipo"/>                           
     </p:selectOneMenu>
</h:form>

<p:selectOneMenu  id="subtipo" value="#{CDat.mapaInstrumentosSubtipo}" >
   <f:selectItem  itemValue="" itemLabel="--Selecciona un examen--"/>
   <f:selectItems value="#{CDat.mapaInstrumentosSubtipo.entrySet()}" var="var" itemValue="#{var.key}" itemLabel="#{var.value}" />               
</p:selectOneMenu>

效果很好。然后稍微向下,我有另一个带有 ap:commandButton 的表单用于提交/处理,这样:

<h:form id="formaProcesarAplicacion">
   <p:growl id="growl3" sticky="false" life="3000"/>                                            
   <p:commandButton value="Procesar aplicacion" action="#{CDat.procesarAplicacion}" update="growl3"/>
</h:form>

不幸的是,最后一种形式从未接触过bean(我知道,因为当我删除第一种形式时,方法/动作procesarAplicacion进行处理并显示值),使得不可能进行数据处理。

任何想法,建议?

我正在使用 primefaces 3.5、mojarra 2.1.22、tomcat 7 和 Eclipse Juno。

4

1 回答 1

0

根据评论,您的问题与<p:selectOneMenu id="subtipo" />未封装在<h:form />.

由于您忽略了这一点,因此此菜单值永远不会发布到 bean。p:commandButton可能是您遇到了阻止您操作的验证或处理错误。

于 2013-05-30T20:27:31.227 回答