JSF - Carregar pagina com passagem de parametros

3 respostas
gui_sv

Pessoal, temos um sistema desenvolvido por completo utilzando JSF e ICEFaces. Todos as tags para links que utilizamos é a ice:commandlink e entao utilizamos a propriedade action listener.

Exemplo:

<ice:commandLink actionListener="#{userBean.criar}" />

Porém a URL sempre fica na pagina main -> http://localhost:8080/sysJustice/pages/main.jsf.

Ok.

Agora surgiu uma necessidade onde precisamos enviar um link de consulta do processo para o usuario. Tipo um atalho.

como proceder ?

vlw

3 Respostas

yorgan

Se você precisa enviar um parametro com o commandLink você pode utilizar a tag f:param.

Exemplo:

<ice:commandLink actionListener="#{userBean.criar}">
             <f:param name="seuParametro" value="#{userBean.objeto.atributo}";
      </ice:commandLink>

E no bean:

FacesContext context   = FacesContext.getCurrentInstance();
HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();
req.getParameter("seuParametro");

[]´s

Daniel

gui_sv

Certo,

Eu tive uma ideia tbm…

e se eu fizer assim…tipo esse eh o link q eu vou enviar para o cara …

http://localhost:8080/sysJustice/pages/consulta.jsf?id=1000

O que eu quero na verdade é algo semelhante ao que fazemos no youtube…
ah veja o seguinte video por exemplo … e dai mandamos a url … http://www.youtu…/watch?v=HJLK123jk1j

vlw

yorgan

Você pode pegar no construtor de um Bean com escopo Request utilizando o getParameter(“id”);
Tente assim:

Sua URL:
http://localhost:8080/sysJustice/pages/consulta.jsf?id=1000

JSP:

<h:outputText value="#{seuMb.pesquisando}"/> //isso fará com que o MB seja instanciado.

Bean:

public class SeuMb {
  
   private String pesquisando;
 
   public SeuMb() {
        FacesContext context   = FacesContext.getCurrentInstance();
        HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();
        System.out.println(req.getParameter("id")); //a partir daqui você faz o tratamento que precisar
   }

   //gets e sets

}
Criado 13 de outubro de 2009
Ultima resposta 13 de out. de 2009
Respostas 3
Participantes 2