Boa tarde, gostaria de saber como utilizar o valor digitado no campo do autocomplete em meu Controller, mesmo ele sendo nulo e não sendo um veiculo cadastrado no BD.
A premissa de um autocomplete é você inserir caracteres (digitar) e o sistema realizar uma pesquisa, apresentando os resultados compatíveis com os critérios de busca (começa com os mesmos caracteres inseridos, contém aquela sequencia de caracteres, etc).
Não vejo sentido em colocar um autocomplete para uma informação que não é persistida.
Como você esta fazendo os teste para saber se deu ou não?
EDIT:
O AutoComplete deseja receber um método na propriedade completeMethod, esse método recebe como parâmetro (implicitamente) o valor da caixa de texto, então você pode pegar esse valor e atribuir a um atributo seu
Como nota, meu value é um objeto Veiculo. Fiz um teste passando uma String placa, porém também fica nulo. Estou fazendo o teste na função que cria um novo veiculo com a placa que foi digitada no autocomplete.
public void upinsertVeiculo() {
Veiculo novoVeiculo = new Veiculo();
novoVeiculo.setTipoVeiculo(this.getTipoVeiculo());
novoVeiculo.setPlaca(this.getPlaca);
veiculoService.save(novoVeiculo);
}
public void upinsertVeiculo() {
Veiculo novoVeiculo = new Veiculo();
novoVeiculo.setTipoVeiculo(this.getTipoVeiculo());
novoVeiculo.setPlaca(this.veiculo.getPlaca);
veiculoService.save(novoVeiculo);
}
Não da para fazer no completeMethod, pois não será sempre que vai criar um novo, as vezes posso utilizar um veiculo já cadastrado ou como disse acima, também preciso do valor para validar a Placa.
Não tenho certeza mas o problema que eu estou vendo é que seu campo auto complete recebe o valor de um objeto Veiculo e voce está tentando inserir uma string.
Se for esse o problema recomendaria você alterar o value para receber uma String e fazer um tratamento no seu controller
Olá matheus, não é este o problema, é que postei apenas o autocomplete com o objeto e o método passando o objeto e a string. Mas na verdade eu tentei das duas formas, passando objeto e outra passando a string no value e não deu certo.