我在我的表格中有一个丰富的POPUPPANEL有一个问题我有一个带转换器的selectonemenu如果我用面板网格以简单的形式制作组件但是当我在popuppanel上制作时,selectonemenu的值不会发送到我的bankingbean我觉得它是空的
我尝试了一个多技巧但没有结果
所以我的代码在视图中.xhtml
<h:form>
<rich:popupPanel id="piecePanel" autosized="true" width="500"
domElementAttachment="form" header="Modifier">
<a4j:outputPanel>
<b><h:messages style="color: red;" /></b>
</a4j:outputPanel>
<rich:panel>
<h:panelGrid columns="3">
<h:outputText value="Piece *"></h:outputText>
<h:selectOneMenu converter="#{GenericConverter}"
value="#{pieceBean.piece}">
<f:selectItem itemLabel="" />
<f:selectItems value="#{listBean.selectPiece}" />
</h:selectOneMenu>
<a4j:commandButton action="#{pieceBean.affectpiece2Vehicule}"
limitRender="true" render="tablePiece"
onclick="#{rich:component('waitFormPanel')}.show()"
oncomplete="#{rich:component('waitFormPanel')}.hide()"
value="affecter" />
</h:panelGrid>
</rich:panel>
<rich:panel>
<rich:dataTable id="tablePiece" value="#{pieceBean.piecesByVehicule}"
var="dataItem" rows="12">
<rich:column>
<f:facet name="header">
<h:panelGroup>
<h:outputText value="prix" />
</h:panelGroup>
</f:facet>
<h:outputText value="#{dataItem.piece.prix}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:panelGroup>
<h:outputText value="action" />
</h:panelGroup>
</f:facet>
<a4j:commandButton action="#{pieceBean.disaffectpiece}"
limitRender="true" render="tablePiece" execute="@this"
onclick="#{rich:component('waitFormPanel')}.show()"
oncomplete="#{rich:component('waitFormPanel')}.hide()"
styleClass="ajoutBtn" value="desaffecte">
<f:setPropertyActionListener value="#{dataItem}"
target="#{pieceBean.currentPieceVehicule}" />
</a4j:commandButton>
</rich:column>
</rich:dataTable>
</rich:panel>
</rich:popupPanel>
答案 0 :(得分:0)
你面临的问题有多丰富:popupPanel是在页面上生成的,当你试图通过firebug在页面上找到他的ID时,你会发现它在客户端上不再存在,而是在表单之外生成的! 唯一的解决方案是确保h:form始终位于rich:popupPanel内部。请尝试让我知道。