JavaServer Faces e Primefaces Palestrante: Jean Paulo da Silva
JavaServer Faces e Primefaces INTRODUÇÃO • Complexidade das aplicações web • Enorme quantidade de recursos pra se gerenciar • Aplicações corporativas • Complexidade e desordem nos códigos, dificultando a manutenção • Pouca ou nenhuma dinamicidade e reusabilidade, diminuindo a produtividade • Problemas na utilização de lógicas de negócio mais complexas • Desempenho • Segurança
JavaServer Faces INTRODUÇÃO • Framework para construção de interfaces web em Java • Implementação de referência da especificação JSR-314 • Possui um conjunto de componentes pré-fabricados • Programação orientada a eventos • Permite a união entre apresentação visual, lógica da aplicação e lógicas de negócio
JavaServer Faces ARQUITETURA
JavaServer Faces CONFIGURAÇÃO • Configuração do servidor (Tomcat) • Criação do projeto: New/Dynamic Web Project
JavaServer Faces CONFIGURAÇÃO • Configuração do arquivo web.xml • Inclusão das bibliotecas (WebContent) Classes Páginas/CSS/JavaScript/Imagens Bibliotecas Configurações
JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • Componentes UI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • Componentes UI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
Arquitetura MVC Model View Controller
Arquitetura MVC Model View Controller
JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • Os componentes UI se mantém sincronizados com objetos java do lado servidor • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
RAD Rapid Application Development Características: • Arquitetura fundamental de componentes • Arquitetura extensível para geração de componentes de terceiros • Um conjunto de componentes padrão • Infra-estrutura de aplicação • É uma ferramenta
JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • Componentes UI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
ManagedBeans • Coleta inputs dos usuários nos componentes de formulários • Manipulação dos componentes de forma dinâmica • Intermediar a comumicação entre as páginas (componentes JSF) e o modelo • Trabalham com objetos do modelo para executar lógica de negócio • Manipulação de eventos de interface • JSF 2.0 - @ManagedBean • JSF 1.x – faces-config.xml
ManagedBeans ESCOPOS • @RequestScoped – Escopo de requisição – O managed bean é instanciado e permanece disponível durante o tempo da requisição HTTP – Recomendado quando o interesse é a economia de recursos do servidor – Quando os dados não precisam ser mantidos de uma requisição pra outra • @SessionScoped – Escopo de sessão – O managed bean é instanciado no momento de uma requisição e só finaliza quando a sessão é finalizada – Recomendado quando o interesse é guardar os estados dos objetos a medida em que se vai realizando a navegação, pois os mesmos são mantidos mesmo em caso de uma nova requisição – Exemplo: Carrinho de compras
ManagedBeans ESCOPOS • @ApplicationScoped – Escopo de aplicação – O managed bean é instanciado no momento em que a aplicação é iniciada no servidor com o atributo eager setado em true, caso contrário, é instanciado na primeira requisição feita ao bean – Recomendado em caso de disponibilização de serviços que precisam estar sempre disponíveis • @ViewScoped – Escopo de visualização – O managed bean é instanciado no momento em que é feita uma requisição para uma página que use seus objetos e é destruído quando os seus objetos não são mais utilizados pela página – Meio termo entre @RequestScoped e @SessionScoped – Recomendado em caso de utilização de aplicações que utilizem AJAX, ou seja, que atualizam parte da página ou toda ela
ManagedBeans ESCOPOS • @NoneScoped – Nenhum escopo – Os objetos do managed bean não são instanciados pela camada de visão, mas podem ser utilizados por outros managed beans conforme a necessidade – Recomendado quando os objetos ou métodos não tem ligação direta com alguma página • @CustomScoped – Escopo personalizado – Escopo definido conforme a necessidade do desenvolvedor, implementado em uma classe auxiliar que define as características do escopo como ciclo de vida, acessibilidade, estrutura de dados e outros
ManagedBeans EXEMPLO
JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
Componentes UI • Componentes que gerenciam a interação com o usuário • São armazenados numa árvore no servidor (view) • Tags interpretadas para apresentação (html) • Tag Libraries h e f • h: tags de componentes que combinam tags HTML com objetos UIComponent definidos na especificação JSF • f : tags com ações independentes do HTML
Componentes UI • Sujeito a estilização (css) • Interação com funções JavaScript e com objetos e métodos do lado servidor (ManagedBean)
Componentes UI EXEMPLOS • Componentes: • <h:body/> <h:head/> <h:form/> • <h:ouptutText value="Texto estático" /> • <h:ouptutText value="#{contatoBean.txtDinamico}"/> • <h:ouptutLabel /> //atributo for • <h:graphicImage value="/images/img1.jpg" width="400" height="150"/> • <h:panelGrid columns="3"
Componentes UI EXEMPLOS • Entrada de dados: • <h:inputText id="itNome" value="#{contatoBean.nome}" size="40" maxlength="40" style="font-size: 15px;"/> • <h:inputHidden/> • <h:inputTextArea cols="150" rows="4" /> • <h:inputSecret />
Componentes UI EXEMPLOS • Selects: • <h:selectBooleanCheckbox value="true" /> • <h:selectOneRadio value="#{contatoBean.tipo}"> <f:selectItem id="item1" itemLabel="Amigo" itemValue="Amigo" /> <f:selectItem id="item2" itemLabel="Conhecido" itemValue="Conhecido" /> <f:selectItem id="item3" itemLabel="Trabalho" itemValue="Trabalho" /> <f:selectItem id="item4" itemLabel="Família" itemValue="Família" /> </h:selectOneRadio>
Componentes UI EXEMPLOS • Selects: • <h:selectOneListBox value="#{contatoBean.tipo}"> <f:selectItem id="item1" itemLabel="Amigo" itemValue="Amigo" /> <f:selectItem id="item2" itemLabel="Conhecido" itemValue="Conhecido" /> <f:selectItem id="item3" itemLabel="Trabalho" itemValue="Trabalho" /> <f:selectItem id="item4" itemLabel="Família" itemValue="Família" /> </h:selectOneListBox>
Componentes UI EXEMPLOS • Selects: • <h:selectOneMenu value="#{contatoBean.tipo}"> <f:selectItem id="item1" itemLabel="Amigo" itemValue="Amigo" /> <f:selectItem id="item2" itemLabel="Conhecido" itemValue="Conhecido" /> <f:selectItem id="item3" itemLabel="Trabalho" itemValue="Trabalho" /> <f:selectItem id="item4" itemLabel="Família" itemValue="Família" /> </h:selectOneMenu>
Componentes UI EXEMPLOS • Tabela: • <h:dataTable value="#{contatoBean.contatos}" var="con" border="1"> <h:column> <f:facet name="header">Nome</f:facet> <h:outputText value="#{con.nome}" /> </h:column> <h:column> <f:facet name="header">Telefone</f:facet> <h:outputText value="#{con.telefone}"/> </h:column> </h:dataTable>
Componentes UI EXEMPLOS • Actions e Listeners: • <h:commandButton value="Executar“ action="#{contatoBean.executar}" alt="Executa uma ação" image="../images/executar.png"/> • <h:commandLink value="Executar“ action="#{contatoBean.executar}"/> • <h:outputLink value="www.b3informatica.com"> B3 Informática </h:outputLink> • <h:button outcome="page.xhtml" value="Contato"/> • <h:link outcome="page.xhtml" value="Contato"/>
JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
Validators • Validadores padrão e validadores customizados • Impedem as ações e exibem mensagens • Atributo “required” • Ex.: <h:inputText id="itNome" value="#{contatoBean.nome}" required="true" requiredMessage="Deu erro!"/>
Validators • Validadores implícitos (padrão) • Ex.: • <f:validateLength maximum="10" /> • <f:validateDoubleRange minimum="10" maximum="100" /> • <f:validateLongRange minimum="10" maximum="100" /> • <f:validateRegex pattern=" ^[0-9]" />
Validators • Validadores customizados: • implements javax.faces.validator.Validator • public void validate(FacesContext context, UIComponent component, Object value)
Validators
JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
Converters • Conversão de valores de entrada e de saída • Conversores implícitos para tipos primitivos • Disparam mensagens que podem ser configuradas (converterMessage) • Impedem as ações • Conversores padrão e customizados
Converters • Conversores padrão:
Converters • Conversores padrão:
Converters • Conversores customizados: • implements Converter • @FacesConverter • Métodos: • public Object getAsObject(FacesContext context, UIComponent component, String valor); • public String getAsString(FacesContext context, UIComponent component, String valor);
JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
Eventos e Listeners • Eventos • Atributo action aponta para um método no bean • Retorno void ou String apontando para próxima página • Exemplo:
Eventos e Listeners • Listeners • Retorno void e parâmetro referente ao listener utilizado • Exemplo:
JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
Controle de Navegação • JSF 1.x • faces-config.xml • navigation-rule • JSF 2 • Retorno dos métodos através de chamadas declaradas no atributo action • Não há necessidade de retorno das extensões • ?faces-redirect=true para redirecionamento de url
Controle de Navegação • Exemplos:
JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
Mensagens • Globais: • <h:messages showDetail=“true”/> • Locais: • <h:message for=“id_do_componente”/> • Disparadas no managedBean: • FacesMessage msg = new FacesMessage(mensagem, detalhes); • FacesContext.getCurrentInstance().addMessage( clientId, msg);
Mensagens • FacesMessage msg = new FacesMessage(severity, mensagem, detalhes); • Severity = Tipos de Mensagem • FacesMessage.SEVERITY_ERROR • FacesMessage.SEVERITY_FATAL • FacesMessage.SEVERITY_INFO • FacesMessage.SEVERITY_WARN
JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
Internacionalização • O JavaServer Faces oferece suporte à internacionalização, possibilitando que a aplicação seja visível em vários idiomas • Configuração: • faces-config.xml (global) • <f:loadBundle/> (local)
Internacionalização PASSO A PASSO • Criação do arquivo nomeArquivo_abreviacao.properties • Exemplos:
Internacionalização PASSO A PASSO • faces-config.xml • teste
Primefaces INTRODUÇÃO • Biblioteca de componentes para JSF de código aberto • Possui um rico conjunto com mais de 100 componentes de interface • Suporte nativo a Ajax • Mais de 30 temas pré-definidos, oferecendo a possibilidade de criação de temas • Documentação de fácil acesso e demonstração do uso dos componentes disponíveis no site http://www.primefaces.org/showcase
Primefaces SHOWCASE
Primefaces INTRODUÇÃO • Download do jar http://www.primefaces.org/downloads.html • WebContent/WEB-INF/lib • Utilização da tag
Primefaces INTRODUÇÃO • Ajax – atributo update • Sintaxe: update="id_form1:id_comp1 id_form2:id_comp2 id_formn:id_compn" • Exemplo: • Atributo ajax=“false” (padrão ajax=“true”)
Primefaces COMPONENTES • Showcase - http://www.primefaces.org/showcase • Alteração de temas: • Download jar - http://www.primefaces.org/themes.html • WebContent/WEB-INF/lib • web.xml
Contato: Telefone: (45) 3576-7064 E-mail: b3@b3informatica.com Site: www.b3informatica.com

JSF com Primefaces

  • 2.
  • 3.
    JavaServer Faces ePrimefaces INTRODUÇÃO • Complexidade das aplicações web • Enorme quantidade de recursos pra se gerenciar • Aplicações corporativas • Complexidade e desordem nos códigos, dificultando a manutenção • Pouca ou nenhuma dinamicidade e reusabilidade, diminuindo a produtividade • Problemas na utilização de lógicas de negócio mais complexas • Desempenho • Segurança
  • 4.
    JavaServer Faces INTRODUÇÃO • Framework para construção de interfaces web em Java • Implementação de referência da especificação JSR-314 • Possui um conjunto de componentes pré-fabricados • Programação orientada a eventos • Permite a união entre apresentação visual, lógica da aplicação e lógicas de negócio
  • 5.
    JavaServer Faces ARQUITETURA
  • 6.
    JavaServer Faces CONFIGURAÇÃO • Configuração do servidor (Tomcat) • Criação do projeto: New/Dynamic Web Project
  • 7.
    JavaServer Faces CONFIGURAÇÃO • Configuração do arquivo web.xml • Inclusão das bibliotecas (WebContent) Classes Páginas/CSS/JavaScript/Imagens Bibliotecas Configurações
  • 8.
    JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • Componentes UI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
  • 9.
    JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • Componentes UI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
  • 10.
  • 11.
  • 12.
    JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • Os componentes UI se mantém sincronizados com objetos java do lado servidor • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
  • 13.
    RAD Rapid Application Development Características: • Arquitetura fundamental de componentes • Arquitetura extensível para geração de componentes de terceiros • Um conjunto de componentes padrão • Infra-estrutura de aplicação • É uma ferramenta
  • 14.
    JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • Componentes UI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
  • 15.
    ManagedBeans • Coleta inputsdos usuários nos componentes de formulários • Manipulação dos componentes de forma dinâmica • Intermediar a comumicação entre as páginas (componentes JSF) e o modelo • Trabalham com objetos do modelo para executar lógica de negócio • Manipulação de eventos de interface • JSF 2.0 - @ManagedBean • JSF 1.x – faces-config.xml
  • 16.
    ManagedBeans ESCOPOS • @RequestScoped – Escopo de requisição – O managed bean é instanciado e permanece disponível durante o tempo da requisição HTTP – Recomendado quando o interesse é a economia de recursos do servidor – Quando os dados não precisam ser mantidos de uma requisição pra outra • @SessionScoped – Escopo de sessão – O managed bean é instanciado no momento de uma requisição e só finaliza quando a sessão é finalizada – Recomendado quando o interesse é guardar os estados dos objetos a medida em que se vai realizando a navegação, pois os mesmos são mantidos mesmo em caso de uma nova requisição – Exemplo: Carrinho de compras
  • 17.
    ManagedBeans ESCOPOS • @ApplicationScoped – Escopo de aplicação – O managed bean é instanciado no momento em que a aplicação é iniciada no servidor com o atributo eager setado em true, caso contrário, é instanciado na primeira requisição feita ao bean – Recomendado em caso de disponibilização de serviços que precisam estar sempre disponíveis • @ViewScoped – Escopo de visualização – O managed bean é instanciado no momento em que é feita uma requisição para uma página que use seus objetos e é destruído quando os seus objetos não são mais utilizados pela página – Meio termo entre @RequestScoped e @SessionScoped – Recomendado em caso de utilização de aplicações que utilizem AJAX, ou seja, que atualizam parte da página ou toda ela
  • 18.
    ManagedBeans ESCOPOS • @NoneScoped – Nenhum escopo – Os objetos do managed bean não são instanciados pela camada de visão, mas podem ser utilizados por outros managed beans conforme a necessidade – Recomendado quando os objetos ou métodos não tem ligação direta com alguma página • @CustomScoped – Escopo personalizado – Escopo definido conforme a necessidade do desenvolvedor, implementado em uma classe auxiliar que define as características do escopo como ciclo de vida, acessibilidade, estrutura de dados e outros
  • 19.
  • 20.
    JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
  • 21.
    Componentes UI • Componentes que gerenciam a interação com o usuário • São armazenados numa árvore no servidor (view) • Tags interpretadas para apresentação (html) • Tag Libraries h e f • h: tags de componentes que combinam tags HTML com objetos UIComponent definidos na especificação JSF • f : tags com ações independentes do HTML
  • 22.
    Componentes UI • Sujeitoa estilização (css) • Interação com funções JavaScript e com objetos e métodos do lado servidor (ManagedBean)
  • 23.
    Componentes UI EXEMPLOS • Componentes: • <h:body/> <h:head/> <h:form/> • <h:ouptutText value="Texto estático" /> • <h:ouptutText value="#{contatoBean.txtDinamico}"/> • <h:ouptutLabel /> //atributo for • <h:graphicImage value="/images/img1.jpg" width="400" height="150"/> • <h:panelGrid columns="3"
  • 24.
    Componentes UI EXEMPLOS • Entrada de dados: • <h:inputText id="itNome" value="#{contatoBean.nome}" size="40" maxlength="40" style="font-size: 15px;"/> • <h:inputHidden/> • <h:inputTextArea cols="150" rows="4" /> • <h:inputSecret />
  • 25.
    Componentes UI EXEMPLOS • Selects: • <h:selectBooleanCheckbox value="true" /> • <h:selectOneRadio value="#{contatoBean.tipo}"> <f:selectItem id="item1" itemLabel="Amigo" itemValue="Amigo" /> <f:selectItem id="item2" itemLabel="Conhecido" itemValue="Conhecido" /> <f:selectItem id="item3" itemLabel="Trabalho" itemValue="Trabalho" /> <f:selectItem id="item4" itemLabel="Família" itemValue="Família" /> </h:selectOneRadio>
  • 26.
    Componentes UI EXEMPLOS • Selects: • <h:selectOneListBox value="#{contatoBean.tipo}"> <f:selectItem id="item1" itemLabel="Amigo" itemValue="Amigo" /> <f:selectItem id="item2" itemLabel="Conhecido" itemValue="Conhecido" /> <f:selectItem id="item3" itemLabel="Trabalho" itemValue="Trabalho" /> <f:selectItem id="item4" itemLabel="Família" itemValue="Família" /> </h:selectOneListBox>
  • 27.
    Componentes UI EXEMPLOS • Selects: • <h:selectOneMenu value="#{contatoBean.tipo}"> <f:selectItem id="item1" itemLabel="Amigo" itemValue="Amigo" /> <f:selectItem id="item2" itemLabel="Conhecido" itemValue="Conhecido" /> <f:selectItem id="item3" itemLabel="Trabalho" itemValue="Trabalho" /> <f:selectItem id="item4" itemLabel="Família" itemValue="Família" /> </h:selectOneMenu>
  • 28.
    Componentes UI EXEMPLOS • Tabela: • <h:dataTable value="#{contatoBean.contatos}" var="con" border="1"> <h:column> <f:facet name="header">Nome</f:facet> <h:outputText value="#{con.nome}" /> </h:column> <h:column> <f:facet name="header">Telefone</f:facet> <h:outputText value="#{con.telefone}"/> </h:column> </h:dataTable>
  • 29.
    Componentes UI EXEMPLOS • Actions e Listeners: • <h:commandButton value="Executar“ action="#{contatoBean.executar}" alt="Executa uma ação" image="../images/executar.png"/> • <h:commandLink value="Executar“ action="#{contatoBean.executar}"/> • <h:outputLink value="www.b3informatica.com"> B3 Informática </h:outputLink> • <h:button outcome="page.xhtml" value="Contato"/> • <h:link outcome="page.xhtml" value="Contato"/>
  • 30.
    JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
  • 31.
    Validators • Validadores padrãoe validadores customizados • Impedem as ações e exibem mensagens • Atributo “required” • Ex.: <h:inputText id="itNome" value="#{contatoBean.nome}" required="true" requiredMessage="Deu erro!"/>
  • 32.
    Validators • Validadores implícitos(padrão) • Ex.: • <f:validateLength maximum="10" /> • <f:validateDoubleRange minimum="10" maximum="100" /> • <f:validateLongRange minimum="10" maximum="100" /> • <f:validateRegex pattern=" ^[0-9]" />
  • 33.
    Validators • Validadores customizados: • implements javax.faces.validator.Validator • public void validate(FacesContext context, UIComponent component, Object value)
  • 34.
  • 35.
    JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
  • 36.
    Converters • Conversão devalores de entrada e de saída • Conversores implícitos para tipos primitivos • Disparam mensagens que podem ser configuradas (converterMessage) • Impedem as ações • Conversores padrão e customizados
  • 37.
  • 38.
  • 39.
    Converters • Conversores customizados: • implements Converter • @FacesConverter • Métodos: • public Object getAsObject(FacesContext context, UIComponent component, String valor); • public String getAsString(FacesContext context, UIComponent component, String valor);
  • 40.
    JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
  • 41.
    Eventos e Listeners •Eventos • Atributo action aponta para um método no bean • Retorno void ou String apontando para próxima página • Exemplo:
  • 42.
    Eventos e Listeners •Listeners • Retorno void e parâmetro referente ao listener utilizado • Exemplo:
  • 43.
    JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
  • 44.
    Controle de Navegação •JSF 1.x • faces-config.xml • navigation-rule • JSF 2 • Retorno dos métodos através de chamadas declaradas no atributo action • Não há necessidade de retorno das extensões • ?faces-redirect=true para redirecionamento de url
  • 45.
  • 46.
    JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
  • 47.
    Mensagens • Globais: • <h:messages showDetail=“true”/> • Locais: • <h:message for=“id_do_componente”/> • Disparadas no managedBean: • FacesMessage msg = new FacesMessage(mensagem, detalhes); • FacesContext.getCurrentInstance().addMessage( clientId, msg);
  • 48.
    Mensagens • FacesMessage msg= new FacesMessage(severity, mensagem, detalhes); • Severity = Tipos de Mensagem • FacesMessage.SEVERITY_ERROR • FacesMessage.SEVERITY_FATAL • FacesMessage.SEVERITY_INFO • FacesMessage.SEVERITY_WARN
  • 49.
    JavaServer Faces CARACTERÍSTICAS • Arquitetura MVC • RAD • ManagedBeans • ComponentesUI • Validators • Converters • Eventos e Listeners • Controle de Navegação • Mensagens • Internacionalização
  • 50.
    Internacionalização • O JavaServerFaces oferece suporte à internacionalização, possibilitando que a aplicação seja visível em vários idiomas • Configuração: • faces-config.xml (global) • <f:loadBundle/> (local)
  • 51.
    Internacionalização PASSO A PASSO • Criação do arquivo nomeArquivo_abreviacao.properties • Exemplos:
  • 52.
    Internacionalização PASSO A PASSO • faces-config.xml • teste
  • 53.
    Primefaces INTRODUÇÃO • Biblioteca de componentes para JSF de código aberto • Possui um rico conjunto com mais de 100 componentes de interface • Suporte nativo a Ajax • Mais de 30 temas pré-definidos, oferecendo a possibilidade de criação de temas • Documentação de fácil acesso e demonstração do uso dos componentes disponíveis no site http://www.primefaces.org/showcase
  • 54.
  • 55.
    Primefaces INTRODUÇÃO • Download do jar http://www.primefaces.org/downloads.html • WebContent/WEB-INF/lib • Utilização da tag
  • 56.
    Primefaces INTRODUÇÃO • Ajax – atributo update • Sintaxe: update="id_form1:id_comp1 id_form2:id_comp2 id_formn:id_compn" • Exemplo: • Atributo ajax=“false” (padrão ajax=“true”)
  • 57.
    Primefaces COMPONENTES • Showcase - http://www.primefaces.org/showcase • Alteração de temas: • Download jar - http://www.primefaces.org/themes.html • WebContent/WEB-INF/lib • web.xml
  • 58.
    Contato: Telefone: (45) 3576-7064 E-mail:b3@b3informatica.com Site: www.b3informatica.com