Galera estou com umas dificuldades, vê se vcs conseguem me ajudar.
Não estou conseguindo exibir o codigo da cidade em minha ListDataModel de clientes: o codigo da cidade é exibido em forma de objeto br.com.Cidade[idCidade=57]
ve se vcs conseguem ententer o codigo ae:
Eu tenho a classe de clientes e a classe de cidades estão toda mapeadas corretamente usando as anotações:
Managed Bean
public ListDataModel buscar() throws NamingException{
try {
InitialContext ctx = new InitialContext();
EJBClienteFachada cliEjb = (EJBClienteFachada) ctx.lookup("EJBClienteImpl/remote");
limparFormulario();
clientesList = cliEjb.buscar(this.getConsNmCliente());
if(getClientesList().isEmpty()){
clientesData = new ListDataModel(getClientesList());
this.setTipo(0);
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Não consta nenhum registro com estas informações!!", null));
}
else{
this.setTipo(1);
//System.out.println("valor do tipo " + this.tipo);
clientesData = new ListDataModel(getClientesList());
}
} catch (Exception e) {
System.out.println(e.getMessage());
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Houve Falha na consulta dos dados!!", null));
}
this.setConsNmCliente("");
return (ListDataModel) clientesData;
}
Pagina JSP
<rich:dataTable width="100%" id="listaClientes" rows="5" rowKeyVar="row"
value="#{MBManterCliente.clientesData}" rendered="#{MBManterCliente.tipo == 1}" var="cliente" >
<f:facet name="header">
<rich:columnGroup>
<h:column><h:outputText value="Codigo" /></h:column>
<h:column><h:outputText value="Cliente" /></h:column>
<h:column><h:outputText value="Cidade" /></h:column>
<h:column><h:outputText value="Editar" /></h:column>
<h:column><h:outputText value="Excluir" /></h:column>
</rich:columnGroup>
</f:facet>
<h:column>
<h:outputText value="#{cliente.idCliente}" />
</h:column>
<h:column>
<h:outputText value="#{cliente.nmNome}" />
</h:column>
<h:column>
<h:outputText value="#{cliente.idCidade}" />
</h:column>
<h:column>
<a4j:commandLink value="Editar" actionListener="#{MBManterCliente.editar}" reRender="ajaxRegionCadastro, ajaxMensagem"/>
</h:column>
,
<h:column>
<a4j:commandLink value="Excluir" id="deletelink"
oncomplete="#{rich:component('deletePanel')}.show()" reRender="deletePanel">
<f:setPropertyActionListener value="#{cliente}" target="#{MBManterCliente.clienteBean}" />
</a4j:commandLink>
</h:column>
<f:facet name="footer">
<rich:datascroller renderIfSinglePage="false" maxPages="5"/>
</f:facet>
</rich:dataTable>
No DataTable acima os dados são exibidos todos corretamente menos a coluna <h:outputText value="#{cliente.idCidade}" />
que faz referencia a classe de cidade que esta sendo exibido assim: br.com.Cidade[idCidade=57].
Como que eu faço para este dado ser exibido corretamente com o ID correto como consta no objeto cliente e tambem como que eu faço para o mesmo ser exibido para aparecer o nome da cidade na utilização do DataTable.
Falow, Abcss