Como passar parametro em uma action de um id?

hehe nao sei se expliquei muito bem no assunto, e vo tenta explicar melhor aqui com imagens…

a duvida é como que aqui dentro action="#{pacienteBean.buscaPaciente(‘aqui’)}" eu faço pra chama o que eu escrevi no inputtext com o id=“busca”. é possível?

se eu deixar ‘aqui’ vai passar sempre aqui como valor… rsr

1° eu tenho meu DaoGenerico dao;

public List<Paciente> buscaPaciente(String parte) { String hql = "from Paciente d where d.nome like :filtro"; Query q = em.createQuery(hql); q.setParameter("filtro", "%" + parte + "%"); return q.getResultList(); }

2° eu tenho meu ManagedBean chamado PacienteBean;

public void buscaPaciente(String parte){ pacientes = dao.buscaPaciente(parte); }

3° eu tenho meu .xhtml que tem um campo para inserir texto e um botão:

<input type="text" name="busca" id="busca" value="Nome" onfocus="if(this.value=='Nome'){this.value=''};" onblur="if(this.value==''){this.value='Nome'};" style="width:220px;" /> <h:form><h:commandButton value="Buscar" action="#{pacienteBean.buscaPaciente('')}"></h:commandButton></h:form>



Olá alandiniz!

A passagem de parâmetros agora é possível através da EL 2.2. O Tomcat 7 já traz essa nova implementação. Não sei qual servidor web você está utilizando, mas procure um que dê suporte a especificação 2.2 da Expression Language.

Espero ter ajudado. Abraços!!!

Olá, Fabricio Vallim

Estou usando o apache-tomcat-7.0.12 com JSF 2.1

Mas como seria a implementação no código pra min pegar o valor do input text ? seria a partir do id dele?

Cara, tenta assim:

PacienteBean;

private String nomePaciente;

//get and set nomePaciente

public void buscaPaciente(){  
    pacientes = dao.buscaPaciente(nomePaciente);  
} 

seu xhtml

<h:form>
     <input type="text" name="busca" id="busca" value="#{pacienteBean.nomePaciente}" onfocus="if(this.value=='Nome'){this.value=''};" onblur="if(this.value==''){this.value='Nome'};" style="width:220px;" />   

     <h:commandButton value="Buscar" action="#{pacienteBean.buscaPaciente}"></h:commandButton>//linha editada: tirado parenteses na chamada do método buscaPaciente
</h:form> 

rdfmartins

intão assim funciona… colocando getters and setters e no action ali nao pode ter () senão ja chama direto…

  • pensei q dava pra faze da outra forma
    vlw :smiley:

Por favor, não banalize as tags como [Resolvido] usando para colocar dados inúteis como [Ajuda] ou [Dúvida]. Como todos os nossos tópicos se referem a ajuda ou a dúvidas, não tem porque dar tanto destaque ao óbvio.