Boa noite senhores,
Venho pedir auxilio para essa problemática:
Estou fazendo um exercício da pós-graduação no qual estou utilizando JSF 2.1 + PRIMEFACES 3.5 + Hibernate 3 e quando eu uso o autocomplete do prime aparece o seguinte:

e lá vamos com os codigos:
Esse é o login.xhtml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Login</title>
</h:head>
<h:body>
<h:outputStylesheet library="css" name="estilo.css" />
<div id="topo">
Locadora de Veículos UNOPAR
</div>
<div id="centro">
<h:form>
<h3>Menu</h3>
<p:menu>
<p:submenu label="Usuário">
<p:menuitem value="Novo" action="#{usuarioBean.novo}" icon="ui-icon-disk" />
<p:menuitem value="Listar Usuários" action="#{usuarioBean.listarUsuarios}" icon="ui-icon-home" />
</p:submenu>
<p:submenu label="Tipo de Veículo">
<p:menuitem value="Novo" action="#{tipoDeVeiculoBean.novo}" icon="ui-icon-disk" />
<p:menuitem value="Listar Veículos" action="#{tipoDeVeiculoBean.listarTiposDeVeiculos}" icon="ui-icon-home" />
</p:submenu>
<p:submenu label="Veículo">
<p:menuitem value="Novo" action="#{veiculoBean.novo}" icon="ui-icon-disk" />
<p:menuitem value="Listar Veículos" action="#{veiculoBean.listarVeiculos}" icon="ui-icon-home" />
</p:submenu>
<p:submenu label="Pedido">
<p:menuitem value="Novo" action="#{pedidoBean.novo}" icon="ui-icon-disk" />
<p:menuitem value="Listar Pedidos" action="#{pedidoBean.listarPedidos}" icon="ui-icon-home" />
</p:submenu>
</p:menu>
</h:form>
</div>
<div id="centro2">
<p:panel header="Pesquisa">
<p:panelGrid columns="2">
<h:form>
<h3>Consulta</h3>
<h:outputLabel value="Placa:" for="placa" />
<p:autoComplete value="#{veiculoBean.veiculo.placa}"
id="placa" completeMethod="#{veiculoBean.complete}"
var="placa" itemLabel="#{veiculo.placa}" itemValue="#{veiculoBean.veiculo.placa}"
required="true" requiredMessage="Digite uma placa valida." rendered="true" >
<p:column>
#{placa}
</p:column>
</p:autoComplete><p:growl id="mes" for="placa" />
<p:spacer height="10" />
<p:commandButton value="Ver" update="mostra" ajax="false" />
<p:commandButton value="Limpar" action="#{veiculoBean.limpar}" />
</h:form>
</p:panelGrid>
<p:spacer height="10" />
<h:panelGroup id="mostra" rendered="#{not empty veiculo.placa}">
<h2><h:outputText value="Você selecionou o carro:" /></h2>
<h:panelGrid columns="2">
<h:outputLabel value="Carro:" />
<h:outputText value="#{veiculo.nome}" />
<h:outputLabel value="Fabricante:" />
<h:outputText value="#{veiculo.fabricante}" />
<h:outputLabel value="Placa:" />
<h:outputText value="#{veiculo.placa}" />
</h:panelGrid>
</h:panelGroup>
</p:panel>
</div>
</h:body>
</html>
VeiculoBean.java
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package br.com.locadora.web;
import br.com.locadora.veiculo.Veiculo;
import br.com.locadora.veiculo.VeiculoRN;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
/**
*
-
@author ThiagoBarso
*/
@ManagedBean(name=“veiculoBean”)
@RequestScoped
public class VeiculoBean {
private Veiculo veiculo = new Veiculo();
private List lista;
public String novo()
{
this.veiculo = new Veiculo();
return "veiculo";
}
public String salvar()
{
VeiculoRN veiculoRN = new VeiculoRN();
veiculoRN.salvar(this.veiculo);
return "veiculoSucesso";
}
public Veiculo getVeiculo() {
return veiculo;
}
public void setVeiculo(Veiculo veiculo) {
this.veiculo = veiculo;
}
public List<Veiculo> getLista()
{
if(this.lista == null)
{
VeiculoRN veiculoRN = new VeiculoRN();
this.lista = veiculoRN.listar();
}
return this.lista;
}
public String editar(){
return "/publico/veiculo";
}
public String login(){
return "/publico/login";
}
public String listarVeiculos(){
return "/publico/listarVeiculos";
}
public String excluir(){
VeiculoRN veiculoRN = new VeiculoRN();
veiculoRN.excluir(this.veiculo);
this.lista = null;
return "null";
}
public List<Veiculo> complete(String query) {
List<Veiculo> sugestoes = new ArrayList<Veiculo>();
VeiculoRN veiculoRN = new VeiculoRN();
List<Veiculo> results;
results = veiculoRN.listar();
for(Veiculo r : results){
if(r.getPlaca().startsWith(query)){
sugestoes.add(r);
}
}
return sugestoes;
}
public String limpar(){
this.veiculo = null;
return "";
}
}[/code]
VeiculoConverter
[code]package br.com.locadora.web.filter.converter;
import br.com.locadora.veiculo.*;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;
@FacesConverter(forClass=Veiculo.class)
public class VeiculoConverter implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if(value != null && value.trim().length() > 0){
Integer codigo = Integer.valueOf(value);
try{
VeiculoRN veiculoRN = new VeiculoRN();
return veiculoRN.carregar(codigo);
}catch(Exception e){
throw new ConverterException("Não foi possivel carregar o veiculo "
+ value + ". " + e.getMessage());
}
}
return null;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
if(value != null){
Veiculo veiculo;
veiculo = (Veiculo) value;
return veiculo.getIdveiculo().toString();
}
return "";
}
}[/code]
O que pode estar dando errado?
Eu já tenho uma tela de cadastro de pedidos de veiculos que pega um converter para veiculo e usuário para usar no Managed Bean de pedido e está funcionando que é uma beleza.

