Olá,
Usando JSF, quando faço a transição de uma página para outra, como recuperar no managed bean um valor qualquer passado na URL?
Ex.: http://localhost:8080/MyApp/destino.faces?codDestino=10 <-- recuperar no MBean o codDestino
saviobarr
Olá,
Usando JSF, quando faço a transição de uma página para outra, como recuperar no managed bean um valor qualquer passado na URL?
Ex.: http://localhost:8080/MyApp/destino.faces?codDestino=10 <-- recuperar no MBean o codDestino
saviobarr
Pelo padrão, não recupera. O JSF foi feito apenas para o protocolo POST.
Existem duas maneiras de contornar isso:
uma é utilizar uma biblioteca que estende o Faces e que, entre outras coisas, provê suporte ao protocolo GET. Exemplo: Shale (http://shale.apache.org/), Gravel (http://labs.jboss.com/gravel/) ou PrettyUrl (https://javaserverfaces.dev.java.net/sandbox/components/prettyUrl.html).
outra é criar uma classe que estenda NavigationHandler, e que obtenha o request no contexto com a instrução FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(), e claro, registrar esse navigation handler em faces-config.xml.