Passagem de parâmetros JSF

9 respostas
thiago.limma

Pessoal,

tenho em uma dataTable, uma lista de dados. Cada ítem dessa lista, tem um botao. Quero fazer o seguinte:

Quando eu clicar no botão, passar os valores da linha desse botão para o Bean.

Como faço isso?

Abraços

9 Respostas

thiago.limma

thiago.limma:
Pessoal,

tenho em uma dataTable, uma lista de dados. Cada ítem dessa lista, tem um botao. Quero fazer o seguinte:

Quando eu clicar no botão, passar os valores da linha desse botão para o Bean.

Como faço isso?

Abraços

Help, please!

Jair_Rillo_Junior

Primeiro, tenha calma com a velocidade das respostas. Lembre-se que aqui é um fórum da comunidade e não um help desk.

Para você resolver o problema, você deve usar o f:param dentro da tag f:commandLink. Algo assim

<h:commandLink action=".........">
  <f:param name="seu_parametro" value="algum_valor"/>
</h:commandLink>
thiago.limma

Como eu faço para recuperar o valor do Param no bean?

O param funciona na lista sem problemas?

Jair_Rillo_Junior

Pesquise sobre o f:param no google que você vai entender o seu funcionamento. Não tem segredo

H

primeiramente
vc tem q cria um bean gerenciado jsf(managment Bean)
dentro desse bean vc faz um metodo q retorna uma lista do que vc quer mostrar

exemplo ai com setores

<h:dataTable value="#{ControladorSetor.listasetores}" var="setor"(essa var vc pode coloca qualquer nome) border="1">

                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Código" />
                        </f:facet>
                        <h:outputText value="#{setor.id}" />
                    </h:column>

                   <h:column>
                        <f:facet name="header">
                            <h:outputText value="Ações" />
                        </f:facet>
                      
                        <h:commandLink action="#{ControladorSetor.excluir}" value="excluir">
                            <f:setPropertyActionListener target="#{ControladorSetor.setor}" value="#{setor}" />
                        </h:commandLink>
                    </h:column>

não sei se deu para vc entender o ControladorSetor é o beangerenciado

thiago.correa

Para recupera o valor é simples, utilizer

((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getParamenter("nomeParametro");
thiago.limma

thiago.correa:
Para recupera o valor é simples, utilizer

((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getParamenter("nomeParametro");

Brother, valeu pela iniciativa… eu vou atribuir isso a variável de que tipo?

Vlws

thiago.correa

:shock: Ué, isso é você quem tem que saber!!!
Se o seu atributo for a idade por exemplo, então grave-a em um int, se for o nome de alguém em uma String e assim por diante!

thiago.limma

Resolvido…

capturei o Bean da sessao… deu certo

vlwss

Criado 22 de maio de 2009
Ultima resposta 22 de mai. de 2009
Respostas 9
Participantes 4