Executando javascript em backend com Primefaces

O Primefaces executa diversas ações no lado do servidor, nesse conjunto do funcionalidades é possível executar javascripts dentro de ManagedBeans/Controller, segue um exemplo a seguir onde dentro de um ManagedBeans/Controller será aberto um p:dialog.

PrimeBackendController.java

package br.com.emmanuelneri.blog;

import org.primefaces.context.RequestContext;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.inject.Named;

@ManagedBean(name = "primeBackendController")
@RequestScoped
public class PrimeBackendController {

    public void abrirDialog() {
        RequestContext context = RequestContext.getCurrentInstance();
        context.execute("dialog.show()");
    }
}
  • RequestContext.getCurrentInstance(): Pega o contexto do Primefaces dentro do contexto atual do JSF;
  • execute: executa javascript;

primefaces-backend.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui">

<body>
    <h:form id="form">
        <h:commandButton value="Abrir Dialog" 
            actionListener="#{primeBackendController.abrirDialog}" />

        <p:dialog header="Effects" widgetVar="dialog" height="100">
            <h:outputText value="Dialog Aberto!" />
        </p:dialog>
    </h:form>
</body>

</html>
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s