JSF: Como passar parametro via "commandButton"

Olá,

Tenho da seguinte forma para passar um parametro
para o BackingBean , via commandLink.

<h:commandLink action="#{endereco.adicionarEndereco}" value="Salvar">
	<f:param value="#{entidade.id}" name="entidadeId"/>
</h:commandLink>

Porem foi pedido que fosse utilizado um botao (commandButton),
e nao um link, para ficar igual as outras paginas…

Alguem poderia me ajudar!? Valeu! :smiley:

eu uso hidden

Olá,

Poderia postar mais especificamente como fazer isso?
Eu nao conheco JSF muito bem, ainda estou aprendendo.

Valeu! [s] :thumbup:

declaro

<h:inputHidden id="campo" value="#{Bean.campo}" />

E posso setar um valor numa funcao javascript por exemplo:

document.forms['frm']['frm:campo'].value = "false";

Olá,

Mas ai voce esta passando um valor ‘estatico’ nao é ?
Eu preciso passar um valor dinamicamente…

Valeu! [s] :thumbup:

eh dinamico cara, na atribuicao pode ter qualquer coisa.
Eu uso por exemplo pra passar por qual orderby eu quero o resultado.

Olá,

Cara eu vou te dizer que ainda nao entendi… :frowning:
Primeira vez que trabalho com web entao nao tenho um bom conhecimento…

Seguinte nao tem algo mais facil tipo isso:

&lt;h:commandButton action="#{endereco.adicionarEndereco}" value="Salvar"&gt;
	&lt;f:param value="#{entidade.id}" name="entidadeId" /&gt;
&lt;/h:commandButton&gt;

Valeu! Até… :thumbup:
[s]

[quote=gui]Olá,

Cara eu vou te dizer que ainda nao entendi… :frowning:
Primeira vez que trabalho com web entao nao tenho um bom conhecimento…

Seguinte nao tem algo mais facil tipo isso:

&lt;h:commandButton action="#{endereco.adicionarEndereco}" value="Salvar"&gt;
	&lt;f:param value="#{entidade.id}" name="entidadeId" /&gt;
&lt;/h:commandButton&gt;

Valeu! Até… :thumbup:
[s][/quote]

Meu problema é bem o oposto do seu, hehe. Eu fiz dessa maneira que vc falou (com um <f:param> dentro do botão e pegando o valor em uma action listener. Funcionou. Já quando tento coloca-lo em um commandLink, está dando erro.

[quote=gustavodelgado][quote=gui]Olá,

Cara eu vou te dizer que ainda nao entendi… :frowning:
Primeira vez que trabalho com web entao nao tenho um bom conhecimento…

Seguinte nao tem algo mais facil tipo isso:

&lt;h:commandButton action="#{endereco.adicionarEndereco}" value="Salvar"&gt;
	&lt;f:param value="#{entidade.id}" name="entidadeId" /&gt;
&lt;/h:commandButton&gt;

Valeu! Até… :thumbup:
[s][/quote]

Meu problema é bem o oposto do seu, hehe. Eu fiz dessa maneira que vc falou (com um <f:param> dentro do botão e pegando o valor em uma action listener. Funcionou. Já quando tento coloca-lo em um commandLink, está dando erro.[/quote]

Olá,

Teria como tu colar aqui como tu fez pra passar parametro via commandButton ? ( .JSP & .JAVA )

Valeu! :thumbup:
[s]

podendo usar o tomahawk, da pra fazer assim:

[quote]<h:commandLink action="#{home.editar}">
<t:updateActionListener property="#{home.usuarioCartao.cpf}"
value="#{ent.cpf}" />
</h:commandLink>[/quote]

[quote=gui]Olá,

Teria como tu colar aqui como tu fez pra passar parametro via commandButton ? ( .JSP & .JAVA )

Valeu! :thumbup:
[s]
[/quote]

Na coluna da tabela, eu coloquei o seguinte:

&lt;ui:button action="#{FrmConvenioConsulta.button2_action}"
   actionListener="#{ConvenioConsulta.selConvenioListener}" 
   id="button2" text="Sel"&gt;
   &lt;f:param id="codigoParam" name="codigoParam" value="#  
      {currentRow.value['codigo']}"/&gt;
&lt;/ui:button&gt;

Uso o <ui:button> pois é um componente do Studio Creator, mas com o commandButton acredito que seja a mesma coisa.

Aí no meu actionListener pego este parâmetro, faço um select no banco pra ver se este código já está cadastrado, e o objeto retornado pelo select jogo na sessão. No meu caso ficou assim:

public void selConvenioListener(ActionEvent event){
        UIParameter component = (UIParameter) event.getComponent().findComponent("codigoParam");
        Integer cod = (Integer)component.getValue(); 
        
        ConvenioAuxilioService cs = new ConvenioAuxilioService();
        ConvenioAuxilio ca = (ConvenioAuxilio)cs.selectById(cod);
        
        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("ConvenioAuxilio", ca);

    }

Beleza! Acabei resolvendo aqui antes de voce colocar a resposta ficou,
praticamente igual acho que só no JSF eu usei outras tags. Ficou assim:

.JSP

&lt;h:commandButton value="Salvar" actionListener="#{email.adicionarEmail}"&gt;
	 &lt;f:param id="entidadeId" name="entidadeId" value="#{entidade.id}" /&gt;
&lt;/h:commandButton&gt;

.JAVA

public void adicionarEmail(ActionEvent event)
{
   UIParameter parameter = (UIParameter) event.getComponent().findComponent(&quot;entidadeId&quot;);
   long idEntidade = Long.parseLong( parameter.getValue().toString() );
   System.out.println(&quot;--&gt;&gt; &quot; + idEntidade + &quot; &lt;&lt;--&quot;);
}

Valeu pela ajuda!
Até… :thumbup:
[s]

legal, mas ainda prefiro o

&lt;t:updateActionListener property="#{home.usuarioCartao.cpf}" value="#{ent.cpf}" /&gt;
que ja sera o parametro direto em uma propriedade que eu especifiquei, no caso acima setando a propriedade home.usuarioCartao.cpf, com o valor do cpf da linha atual :smiley:

Alguem tem ideia de como passo um bean como parametro para um metodo de outro bean?
Tentei fazer o que foi sugerido aqui no topico, mas deu erro.

Daniel Camargo.

Alguem tem ideia de como passo um bean como parametro para um metodo de outro bean?
Tentei fazer o que foi sugerido aqui no topico, mas deu erro.

Daniel Camargo.

Precisando de algo parecido