Estou com um problema nos <h:selecOneMenu>, quando eu clico na grid para alterar o registro a tela de edicao nao preenche os <h:selecOneMenu>, porem se eu clico aparece os registros que eu preciso inclusive o registro que era para estar setado no <h:selecOneMenu> . Se eu vou manualmente e seto o registro que era para estar,
aparece uma mensagem no rich:message dizendo : "Value is not valid " … o que eu nao entendo eh que eu tenho outras telas onde eu faço a mesma coisa e funciona …
Alguem poderia me orientar como devo proceder …
xhtml :
<h:outputText value="Posición 1:" />
<h:selectOneMenu value="#{juntaEnsamble.posicao1}" id="posicaoEnsamble1" >
<s:selectItems var="itemPosicao1" label="#{itemPosicao1.posicaoPeca}"
noSelectionLabel="Selecionar" value="#{listaPecasEnsamble}" />
<s:convertEntity />
<a4j:support action="#{ensambleAction.informacaoPeca1}" event="onchange" reRender="panelGridPosicao1" ajaxSingle="true"/>
</h:selectOneMenu>
<rich:message for="posicaoEnsamble1" style="color:red" />
<rich:spacer width="145"/>
<h:outputText value="Posición 2:" />
<h:selectOneMenu value="#{juntaEnsamble.posicao2}" id="posicaoEnsamble2" >
<s:selectItems var="itemPosicao2" label="#{itemPosicao2.posicaoPeca}"
noSelectionLabel="Selecionar" value="#{listaPecasEnsamble}" />
<s:convertEntity />
<a4j:support action="#{ensambleAction.informacaoPeca2}" event="onchange" reRender="panelGridPosicao2" ajaxSingle="true"/>
</h:selectOneMenu>
<rich:message for="posicaoEnsamble2" style="color:red" />
meu action EnsambleAction.java
//metodo que eh disparado na hora que eu edito
public void selecionarDetail(JuntaEnsamble juntaEnsamble){
this.juntaEnsamble = juntaEnsamble;
}
// @SuppressWarnings("unchecked") metodo quepopula os registro no h:SelectOneMenu
@Factory("listaPecasEnsamble")
public void listarInformacaoPosicao() {
Query query = entityManager.createNamedQuery(JuntaEnsamble.QUERY_ESTRUTURA_JUNTA_ENSAMBLE);
query.setParameter("fabrica", estruturaPlano.getFabrica());
query.setParameter("posicaoMargem", estruturaPlano.getPosicaoMargem());
query.setParameter("modulo", estruturaPlano.getModulo());
query.setParameter("subModulo", estruturaPlano.getSubModulo());
query.setParameter("tramo", estruturaPlano.getTramo());
query.setParameter("componente", estruturaPlano.getComponente());
listaPecasEnsamble = query.getResultList();
}