Boa noite pessoal.
Estou tentando utilizar o componente autocomplete do primefaces, com o atributo multiple=true, mas vem dando o seguinte erro:
java.lang.NumberFormatException: For input string: "marca"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
Segue componente na minha .xhtml:
<p:autoComplete value="#{marcaBeanRequest.marcasSelecionadas}"
completeMethod="#{marcaBeanRequest.completaNome}" var="m"
itemLabel="#{m.marca}" itemValue="#{m}" converter="marcaConverter"
multiple="true"/>
Managed Bean:
[code]@ManagedBean(name = “marcaBeanRequest”)
@RequestScoped
public class MarcaBeanRequest {
private Marca marca = new Marca();
private List<Marca> list = new ArrayList<Marca>();
private List<Marca> marcasSelecionadas = new ArrayList<Marca>();
public MarcaBeanRequest() {
this.list = new MarcaRN().listarTodos();
}
public Marca getMarca() {
return marca;
}
public void setMarca(Marca marca) {
this.marca = marca;
}
public List<Marca> getList() {
return list;
}
public void setList(List<Marca> list) {
this.list = list;
}
public String consultar() {
return null;
}
public String incluir() {
this.marca = new Marca();
return null;
}
public String salvar() {
return null;
}
public List<Marca> getMarcasSelecionadas() {
return marcasSelecionadas;
}
public void setMarcasSelecionadas(List<Marca> marcasSelecionadas) {
this.marcasSelecionadas = marcasSelecionadas;
}
public List<Marca> completaNome(String query) {
List<Marca> sugestoes = new ArrayList<Marca>();
for (Marca m : this.list) {
if (m.getMarca().startsWith(query)) {
sugestoes.add(m);
}
}
return sugestoes;
}
}
[/code]
Converter:
[code]@FacesConverter(value = “marcaConverter”)
public class MarcaConverter implements Converter {
@Override
public Object getAsObject(FacesContext fc, UIComponent uic, String string) {
MarcaRN marcaRN = new MarcaRN();
Marca marca = marcaRN.consultarPorMarca(string);
return marca;
}
@Override
public String getAsString(FacesContext fc, UIComponent uic, Object o) {
if (o == null || o.equals("")) {
return "";
} else {
return String.valueOf(((Marca) o).getMarca());
}
}
}[/code]
Alguém sabe o que pode ser?
Obrigadão pela atenção, pessoal!
Abraço!