Problema com listagem

2 respostas
S

Olá pessoal, estou com um problema relativamente simples, porém quebrando a cabeça não consegui realizar uma pesquisa:
Bem, a ideia é simples, a partir de uma String Nome () obter e passá-la para uma listagem.
O método, retornaria uma lista e em seguida pudesse ser obtida numa outra página, embora, por alguma incrível razão obtenho uma excessão de que o método não existe:

Isto está declarado em uma interface DAO:
public List<Empresa> buscarPorNome(String nome);
Isto está declarado em uma classe chamada DAOHibernate:
@SuppressWarnings("unchecked")
	public List<Empresa> buscarPorNome(String nome) {
		Query query = this.session.createQuery("select e from Empresa e where e.nome LIKE = :nome%");
		query.setString("nome", nome);
		return query.list();
	}
É tratado assim em uma classe de Regra de Negócio
public List<Empresa> buscaPorNome(String nome) {
		return this.empresaDAO.buscarPorNome(nome);

	}
e obtida assim em um ManagedBean:
public List<Empresa> getBuscarPorNome() {
		String nome = empresa.getNome();
		if (this.listagem == null) {
			EmpresaRN empresaRN = new EmpresaRN();
			this.listagem = empresaRN.buscaPorNome(nome);
		}
		return this.listagem;
	}
Tento obter assim na página:
<div id="campos">
					<p:inputText value="#{empresaBean.empresa.nome}"
						style="width: 600px;height: 24px; font-size:15px;">
					</p:inputText>
				</div>
				<div id="botaopesq">
					<h:commandLink action="#{empresaBean.buscarPorNome}"
						title="Pesquisar">
						<h:graphicImage library="images" name="botao.png" width="118"
							height="27" style="border:0" />
						<f:setPropertyActionListener target="#{empresaBean.empresa}"
							value="#{nome}" />
						<f:setPropertyActionListener target="#{empresaBean.destinoSalvar}"
							value="/publico/pesquisa"></f:setPropertyActionListener>
					</h:commandLink>

a Excessão:

javax.el.MethodNotFoundException: /publico/index.xhtml @73,25 action="#{empresaBean.buscarPorNome}": Method not found: [email removido]()

2 Respostas

carlos_hen

métodos no commandLink devem retornar apenas “String” e não uma List.

Essa string de retorno é na verdade a action que corresponde a próxima página que será chamada(outra página ou ela mesma).

Falows.

S

Carlos, obrigadãol, consegui resolver o problema retirando um immediate = true.
Mas estou com outro agora, se puder me ajudar, te agradeço muito.

http://www.guj.com.br/java/275414-problema-com-auto-complete-primefaces#1447992

Criado 9 de junho de 2012
Ultima resposta 13 de jun. de 2012
Respostas 2
Participantes 2