quarta-feira, 25 de julho de 2012

Passar parâmetro via get no jsf 2

Página 1


<h:link target="_blank"
outcome="/pagina2" 
style="height:0px;width:0px;border-style:none;margin:0px;padding:0px;">
       <h:graphicImage value="/imagens/ImagensUtilizadas/16x16/doc6.png" />
       <f:param name="id" value="#{usuarioMB.id}"/>
</h:link>                              

Página 2

<ui:composition template="/templates/relatorio.xhtml">
       <f:metadata> 
           <f:viewParam name="id" value="#{usuarioMB.id}" />
       </f:metadata>

       <h:head>
             <meta http-equiv="content-Type" content="text/html; charset=utf-8" />
       </h:head>
       <ui:define name="centro">
             <h:form>
                    <h:outputText value="Id:" />
                    <h:outputText value="#{usuarioMB.usuario.id}"/>
                    <h:outputText value="Nome:"/>
                    <h:outputText value="#{usuarioMB.usuario.nome}"/>

             </h:form>
       </ui:define>
...

Recuperar dados do banco ao abrir a página 2:

Criar método no managed bean. 
@PostConstruct
public void carregar(){
   String id = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id");
            
   if(id != null && !id.equals("")){
      dao = new Dao<Usuario>(HibernateUtil.getSession(),  Usuario .class);
      usuariodao.get(Integer.parseInt(id) );
   }
}


Nenhum comentário:

Postar um comentário