E ai galera, blz, estou com um probleminha pra retornar o resultado de uma pesquisa e gostaria q vcs me ajudassem, é o seguinte, possuo um formulário onde digito um código de profissional e abaixo deve ser retornado os dados desse profissional, mas tá dando um erro e não tô conseguindo descobrir onde tá o problema, os códigos são:
o xhtml:
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:c="http://java.sun.com/jstl/core">
<ui:composition template="template.xhtml">
<ui:define name="titulo">Profissional</ui:define>
<ui:define name="content">
<div id="formulario">
<h1>Pesquisar Profissional</h1>
<hr />
<br />
<h:panelGrid columns="4">
<h:outputText value="Carteira do Profissional"
styleClass="saidaTexto" />
<h:inputText id="carteiraProfissional"
value="#{pessoaController.pesquisa}" size="25" />
<h:commandButton value="Pesquisar" style="margin-left: 5px;">
<a4j:support event="onclick" reRender="resultado" />
</h:commandButton>
<h:message for="carteiraProfissional" styleClass="message" />
</h:panelGrid><br />
</div>
<div id="profissionais"><h:panelGroup id="resultado">
<h:dataTable id="result" var="item" value="#{pessoaController.pesqPessoa}">
<h:column id="column1">
<h:outputText value="#{item.codigo}" />
<f:facet name="header">
<h:outputText value="ID" />
</f:facet>
</h:column>
<h:column id="column2">
<h:outputText value="#{item.nome}" />
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
</h:column>
</h:dataTable>
</h:panelGroup></div>
</ui:define>
</ui:composition>
</html>
e controller:
package br.org.creapi.controller;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import br.org.creapi.dao.DaoGenerico;
import br.org.creapi.entities.Pessoa;
@Controller("pessoaController")
@Scope("session")
public class PessoaController {
private static final Log log = LogFactory.getLog(PessoaController.class);
private DataModel model;
public DataModel getModel() {
return model;
}
public void setModel(DataModel model) {
this.model = model;
}
@PersistenceContext
private EntityManager entityManager;
@Resource
private DaoGenerico<Pessoa, String> pessoaDao;
public DaoGenerico<Pessoa, String> getPessoaDao() {
return pessoaDao;
}
public void setPessoaDao(DaoGenerico<Pessoa, String> pessoaDao) {
this.pessoaDao = pessoaDao;
}
private String pesquisa = null;
public void setPesquisa(String pesquisa) {
this.pesquisa = pesquisa;
}
public String getPesquisa() {
return pesquisa;
}
public DataModel getPesqPessoa(){
Map<String, Object> params = new HashMap<String,Object>();
params.put("pesq", pesquisa+"%");
String query = "SELECT p.codigo,p.nome,p.cpfcnpj FROM Pessoa p WHERE p.codigo LIKE :pesq";
model = new ListDataModel(pessoaDao.listPesqParam(query, params));
return model;
}
}
e o erro:
java.lang.NumberFormatException: For input string: "codigo"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:449)
at java.lang.Integer.parseInt(Integer.java:499)
at javax.el.ArrayELResolver.coerce(ArrayELResolver.java:153)
at javax.el.ArrayELResolver.getValue(ArrayELResolver.java:45)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
at org.apache.el.parser.AstValue.getValue(AstValue.java:118)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
at javax.faces.component.UIOutput.getValue(UIOutput.java:184)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:201)
só observando q o campo codigo é string;
Obrigado