我有一个p: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>
完美无缺。然后我有另一个带有p: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。
答案 0 :(得分:0)
根据评论,您的问题与<p:selectOneMenu id="subtipo" />
中没有封装的<h:form />
有关。
由于您忽略了这一点,因此该菜单值永远不会发布到bean。可能是您遇到了阻止p:commandButton
操作的验证或处理错误。