Abrindo um modal por meio de Link JSF - Primefaces [RESOLVIDO]

6 respostas
A

Galera preciso de uma ajuda, é o seguinte tenho duas paginas xhtml, vou indentificar como *pagina_1.xhtml e *pagina_2.xhtml.

Na pagina_1.xhtml eu tenho um link, segue abaixo como estou fazendo:

<h:panelGrid>
         <h:outputLink value="" onclick="">Configurações</h:outputLink>  
    </h:panelGrid>

Na pagina_2.xhtml tenho meu modal, não vou lançar o codigo porque a questão não é essa.

Como posso fazer com que na hora que eu clicar no link Configurações que está na pagina_1.xhtml, ele abra o modal contido na pagina_2.xhtml ?
Como faço para chamar o modal criado em outro xhtml.

6 Respostas

H

Vc está utilizando algum framework? Primefaces? Icefaces? Richfaces? JQuery? Se não, seria uma boa hora de começar.

O primefaces tem uma função bem maneira de dialog, curte aí: http://www.primefaces.org/showcase/ui/dialog.jsf

Tem outros exemplos de dialog lá.

A

noite jakefrog

Então esse é um componente, ele funciona quando se cria o modal no mesmo escopo.

Mas como faço chamar modal que está na pagina_2.xhtml por meio do link que está na pagina_1.xhtml ?

H

Blz, mas qual o nome do componente?

Geralmente costuma ser meuModal.show(); no oncomplete do botão.

A

jakefrog, estou usando <h:outputLink> que será meu link na pagina_1.xhtml, ao clicar nesse link quero que abra o modal que está contido na pagina_2.xhtml.
Como faço isso, tenho que dar um include pagina_2.xhtml dentro da pagina_1.xhtml, e depois como chamo a pagina_2.xhtml dentro do meu link ?

H

Após fazer o include vc já tem acesso a todos os itens da pagina. Aí vc pode fazer como nesse exemplo aqui. http://www.primefaces.org/showcase/ui/dialog.jsf

A

jakefrog vlw pela ajuda…

Exemplo da resolução
pagina_1.xhtml

&lt;body&gt;
    &lt;p:dialog widgetVar="dlg3" modal="true" height="400" width="700"&gt;
      &lt;h:form&gt;  
            &lt;p:fieldset legend="Toggleable Fieldset" toggleable="true" toggleSpeed="500"&gt;  
                &lt;p:ajax event="toggle" listener="#{fieldsetBean.handleToggle}" update="growl" /&gt;  
                &lt;h:panelGrid columns="2" cellpadding="10"&gt;  
                    &lt;p:graphicImage value="/images/godfather/godfather2.jpg" /&gt;  
                    &lt;h:outputText value=" "/&gt;  
                &lt;/h:panelGrid&gt;  
            &lt;/p:fieldset&gt;        
        &lt;/h:form&gt;
&lt;/body&gt;

pagina_2.xhtml

&lt;h:head&gt;
  &lt;h:panelGrid&gt;
    &lt;ui:include src="fieldset.xhtml"/&gt; /* Aqui faço o includi da página onde está meu componente */
     &lt;h:outputLink value="" onclick="dlg3.show()" &gt;Configurar&lt;/h:outputLink&gt;  /* No componente &lt;h:outputLink&gt; adiciono no onclick o nome da minha variavel "dlg3" */
    &lt;/h:panelGrid&gt;
&lt;/h:head&gt;

t+

Criado 1 de novembro de 2011
Ultima resposta 2 de nov. de 2011
Respostas 6
Participantes 2