Como passar parâmetro do commandLink para o java

4 respostas
S

Boa tarde,

Transformei os nomes das colunas da minha tabela em um hyperlink.

Abaixo o trecho de código do cabeçalho de uma coluna:

<f:facet name="header">
      <h:commandLink action="#{Ordenar.ordernarCol}" id="qtd02" value="Qtd.Fec"/>                                              
     
</f:facet>

Quando clico na coluna “Qtd. Fec”. Ele chama o método ordenarCol para ordenar a coluna. Então, gostaria que o método ordenarCol ordenasse qualquer coluna através de um parâmetro recebido.

E ai, como passar esse parâmetro?

Grato

4 Respostas

g4j

Alguns links que podem ajudar:

http://www.javabeat.net/tips/44-hcommandlink-how-to-pass-parameter-to-next.html

http://www.coderanch.com/t/211925/JSF/java/Passing-Parameters-Using-commandLink

S

Resolvi!

Uma solução bem simples por sinal:

<h:commandLink actionListener="#{Ordenar.ordernarCol}" id="qtd02" value="Qtd.Fec"/>

A partir daí é só pegar o id da coluna. :lol:

No arquivo *.java:

public void OrdenarCol(ActionEvent event){
   String coluna = (String)event.getComponent().getId();
  //bla bla bla.....
}
g4j

Para o teu caso vai funcionar. E se por acaso precisasse de mais de um parametro?

S

Pois é, hoje eu precisei de mais um parâmetro…

<f:facet name="header">  
    <h:commandLink action="#{Ordenar.ordernarCol}" id="qtd02" value="Qtd.Fec"/> 
        <f:attribute name="tabela" value="tabela1"/>                     
   </h:commandLink>
</f:facet>
public void OrdenarCol(ActionEvent event){  
       String coluna = (String)event.getComponent().getId();  
       String tabela = (String)event.getComponent().getAttributes().get("tabela")
     //bla bla bla.....  
   }

Não sei se é a melhor forma, mas pelo menos funciona.

Criado 19 de novembro de 2009
Ultima resposta 20 de nov. de 2009
Respostas 4
Participantes 2