Bom dia galera estou com uma duvida aqui como fazer pesquisa passando um parâmetro, sei que eh coisa simples mas está dando uns erros estranhos.
O que quero fazer é pesquisar uma data e mostrar na tabela abaixo os dados da pesquisa.
minha jsp
<h:outputText value="Data do Serviço ( D ): "/>
<rich:calendar id="dataServico" value="#{veiculoController.serv.dataAtual}" datePattern="dd/MM/yyyy"
required="true"
requiredMessage="Por Favor Entre com da Data do Serviço"/>
<rich:message for="dataServico" styleClass="msg"/>
<br><br><br>
<a4j:commandButton value="Pesquisar Ficha" action="#{veiculoController.pesquisar}" reRender="tbPesquisa"/>
minha controller
public void pesquisar(Date data) { // aqui estou passando o parâmetro q vem da minha jsp
data = serv.getDataAtual();
System.out.println("data pesquisada " + data);
getTodosVeiculosPesquisa();
}
public DataModel getTodosVeiculosPesquisa() {
if (serv.getDataAtual() == null) {
System.out.println("data vazia null ");
model = new ListDataModel();
return model;
}
if (serv.getDataAtual() != null) {
System.out.println("diferente de null");
Date data = serv.getDataAtual();
model = new ListDataModel(idao.todosCarrosPesquisados());
return model;
}
return model;
}
minha DAO
public List todosCarrosPesquisados() {
System.out.println("todosCarrosPesquisados");
EntityManager em = getEntityManager();
try {
Query q = em.createQuery("SELECT v FROM Veiculo v, Servico s where v.idServico = s.id and s.dataAtual = :dataAtual");
System.out.println("q "+q.getResultList());
return q.getResultList();
} finally {
em.close();
}
}
quando faço a pesquisa ele me retorna um erro de “Method not found: [email removido]()”, ou seja método nao encontrado.
quando eu retiro aquele parametro ele da outro erro de "Query argument dataAtual not found in the list of parameters provided during query execution. " nao acha o parametro dataAtual.
alguem pode ajuda?