Passar e Resgatar Parametros Via GET/URL

177 views
Skip to first unread message

Anderson Matos

unread,
Nov 24, 2015, 8:41:22 AM11/24/15
to javasf: JavaServer Faces Group
Salve pessoal, bom dia!
Creio que seja simples, mas não estou encontrando uma solução. Segue abaixo:

Passar valor do objeto (exemplo: obj.id) para um MB @RequestSession via GET ao clicar em um <p:commandButton>

TENTEI DESSA FORMA, MAS NÃO FUNCIONA:
pagina.xhtml
<p:commandButton action="conclusao.xhtml?faces-redirect=truevalor=#{obj.id}"  value="Conclusão" />

managedBean @RequestSession
String valor = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("valor");


PORÉM QUANDO COLOCO UM VALOR AMARRADO, FUNCIONA:
pagina.xhtml
<p:commandButton action="conclusao.xhtml?faces-redirect=truevalor=1"  value="Conclusão" />

managedBean @RequestSession
String valor = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("valor");

ayslan

unread,
Nov 24, 2015, 8:48:56 AM11/24/15
to jav...@googlegroups.com
Anderson, se nesse caso for apenas navegação de uma página para outra, geralmente pra requisições via GET a recomendação é usar o p:button, e os parametros podem ser passados via f:param. 
Segue um exemplo:

<p:button outcome="conclusao.xhtml"  value="Conclusão" >
       <f:param name="valor" value="#{obj.id}"/>
</p:button>



--
Você recebeu essa mensagem porque está inscrito no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javasf+un...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javasf.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/e2fc2c9c-c4fe-435b-921e-8d03cfc06fba%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Att,

Ayslan M. de Sousa

Anderson Matos

unread,
Nov 24, 2015, 9:06:59 AM11/24/15
to javasf: JavaServer Faces Group
Grande Ayslan!!! Perfeita solução amigo, muito obrigado mesmo. 
Tenha um bom dia.

Fábio Souza de Andrade

unread,
Nov 25, 2015, 11:17:38 AM11/25/15
to jav...@googlegroups.com
Olá Anderson, sou novato no JSF e resolvi um dos problemas no caso passar o parametro num commandLink e pegar o valor no bean, depois exibir em uma outra página, segue o fluxo:

Link com o parametro:
<h:form>
 <h:commandLink value="mesa 01" action="#{mesaBean.abre}" styleClass="thumbnail">
    <f:param name="mesa" value="01" />
  </h:commandLink>
</h:form>

Bean:


import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import java.util.Map;


@ManagedBean
@SessionScoped
public class MesaBean {
private String numero;
public String getNumero() {
return numero;
}


public void setNumero(String numero) {
this.numero = numero;
}

        //seta o valor da variavel numero do que vem no parametro mesa
public String abre(){
setNumero(getParam("mesa"));
return "pedido";
}
//capturo o parametro aqui
public String getParam(String parametro){
FacesContext fc = FacesContext.getCurrentInstance();
Map<String,String> params = fc.getExternalContext().getRequestParameterMap();
return params.get(parametro);
}
}


Exibo o parametro na página pedidos:

<h1 class="page-header">Insira os Pedidos da Mesa <h:outputText value="#{mesaBean.numero}" />: </h1>


Boa Sorte!


--
Você recebeu essa mensagem porque está inscrito no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javasf+un...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javasf.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/e2fc2c9c-c4fe-435b-921e-8d03cfc06fba%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Fábio Souza
Twitter: @souzace
Skype: souza.ce

Anderson Matos

unread,
Nov 25, 2015, 12:47:47 PM11/25/15
to javasf: JavaServer Faces Group
Olá Fábio! De antemão, valeu. Obrigado por contribuir!!
Reply all
Reply to author
Forward
0 new messages