<a4j:form id="formFase" ajaxSubmit="true" reRender="codigo, descricao">
<table>
<tr>
<td>Fase</td>
</tr>
<tr>
<td>
<table id="valores">
<tr>
<td><h:outputText value="Cadastro de Fases"/></td>
<td> <h:selectOneMenu id="codigo" value="#{faseController.fase.codigo}" title="Código" converter="faseConverter">
<a4j:support event="onchange" actionListener="#{faseController.tipoAlterado}" ajaxSingle="true" reRender="descricao" immediate="true"/>
<f:selectItems value="#{faseController.fasesDisponiveis}"/>
</h:selectOneMenu>
</td>
</tr>
<tr>
<td>Fase:</td>
<td><h:inputText value="#{faseController.fase.descricao}" id="descricao" title="Descrição" required="true"/>
</td>
</tr>
</table>
<table id="botoes">
<tr>
<td><a4j:commandButton value="Inserir" action="#{faseController.inserir}"/>
</td>
<td><a4j:commandButton value="Alterar" action="#{faseController.alterar}"/>
</td>
<td><a4j:commandButton value="Excluir" action="#{faseController.excluir}"/>
</td>
<td><a4j:commandButton value="Limpar" action="#{faseController.limpar}" type="reset"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</a4j:form>
</ui:define>
05/05/2008 23:14:25 com.sun.faces.lifecycle.RenderResponsePhase execute
INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
sourceId=formFase:codigo[severity=(ERROR 2), summary=(formFase:codigo: Validation Error: Value is not valid), detail=(formFase:codigo: Validation Error: Value is not valid)]
public void tipoAlterado(ActionEvent ev) {
FacesContext context = FacesContext.getCurrentInstance();
Map<String, String> requestParams = context.getExternalContext()
.getRequestParameterMap();
Integer id = Integer.valueOf(requestParams.get("formFase:codigo"));
this.fase = factory.buildFase().getById(id);
}
Não tenho idéia de onde possa estar o problema. Se tiver outra forma de fazer isso, mesmo que sem ajax, gostaria de saber.
Obrigado a todos.