Componentes do JSF. Alteracoes e atualizacoes: Gustavo Wagner 2008

Documentos relacionados
MÓDULO Programação para Web 2

JSF. Componentes. Face Bean. Navegação. JavaServer Faces. Validação. Ciclo JSF. Prof. Enzo Seraphim. Exemplo

JSF Facelets. Como Facelets muda a forma de desenvolver com JSF

Desenvolvimento de Aplicações para Internet

Introdução a JavaServer Faces 2

Introdução. Componentes básicos. Componentes avançados. PrimeFaces. Prof. Enzo Seraphim

Componentes Web do JEE

COM222 DESENVOLVIMENTO DE SISTEMAS WEB. Aula 01: HTML e CSS

Recursos Complementares (Tabelas e Formulários)

Mini-curso de PHP. Aulas ministradas por: André Luis de Paula Arthur Kalsing Diego Silva

Tabelas Div Span Frames Formulários

INTRODUÇÃO AO DESENVOLVIMENTO FRONT-END COM HTML, CSS E JAVASCRIPT

Programação para Internet I

Java Server Faces Navegação de

HTML: FORMULÁRIOS SUMÁRIO. Conceito Tag FORM Tag INPUT Tag BUTTON Tag TEXTAREA Tag SELECT

Autoria Web. Professor: Diego Oliveira. Conteúdo 03: Tags de Formulário

USANDO O JSF. Programação para Internet

MÓDULO Programação para Web 2

Web Design Aula 09: Formulários

Arcabouço para o desenvolvimento de aplicações Web com foco na construção da interface de usuário.

Adicionando mais tags HTML

Tabelas. Tabelas. Iniciando a construção... Atributos <table> Tag <table></table> 05/06/2011

Introdução ao JSF. Daniel Bruno II Semana de Tecnologia da Informação UNIVEM

INTRODUÇÃO AO DESENVOLVIMENTO WEB

Programação para web HTML: Formulários

- os dados entrados fazem parte do corpo da mensagem enviada para o servidor; - transfere grande quantidade de dados.

Formulário (Send & Recieve) Prof. Celso H. Masotti

HTML BÁSICO E TEMPLATE VIEW. Gabrielle Amorim Porto

Tabelas. Tabelas. Iniciando a construção... Atributos <table> Tag <table></table> 05/04/2011

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto

Managed Beans e Tags JSF

Autoria Web. Formulários Aula 5. Cleverton Hentz

Formulários. Objetivo Controles Métodos Linhas de Edição

JavaServer Faces (JSF) Leonardo Murta

Volnys Bernal. Introdução à linguagem HTML. Introdução à linguagem HTML. Visão geral. Visão geral. Visão geral. Visão geral.

HTML: Listas, Tabelas e Formulários CST Sistemas para Internet

Introdução à linguagem HTML. Volnys Borges Bernal

Conteúdo.

HTML. Leonardo Gresta Paulino Murta

HTML Parte III. André Tavares da Silva.

Informática I. Aula 8. Aula 8-19/09/2007 1

JavaServer Faces JSF

JavaServer Faces JSF

MÓDULO Programação para Web 2

Introdução à Tecnologia Web

INTRODUÇÃO AO JQUERY PARTE 2. Prof. Me. Hélio Esperidião

Java para WEB com Struts 2 e Hibernate

HyperText Markup Language HTML. Formulário

Desenvolvimento Web TCC Turma A-1

(UFF) JSF (I) TEPIS II

SIMULADOS & TUTORIAIS

if( document.dados.tx_ .value=="" document.dados.tx_ .value.indexof('.

Frameworks RIA para JSF lado a lado

Mais sobre uso de formulários Site sem Ajax

CSS Cascading Style Sheets

Os slides que seguem mostram os principais comandos da linguagem HTML. Conhecer o código HTML possibilita a criação de páginas leves que contenham ape

Coleção - Análises de marketing em clientes de

Continuação... Criando a Interface e adiante

EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS

JSF2 e AJAX. Desenvolvimento Web com. Construa aplicações Web mais interativas e elegantes

Frameworks RIA. para JSF 2.0 lado a lado. (Exibição de Dados)

INTRODUÇÃO. JavaScript PROF. ME. HÉLIO ESPERIDIÃO

Os componentes de um formulário são: Form, Input, Select e AreaText

Desenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM

HTML & CSS. uma introdução

Estruturas de Controle em c#

O que faz um servidor/navegador web? 14/03/2016 Rômulo da Silva Lima Slid e 2

Conteúdo Dinâmico. Introdução. Interação Browser x Servidor Web. Interação Browser x Servidor Web

INTRODUÇÃO AO JQUERY PROF. ME. HÉLIO ESPERIDIÃO

Experiência em missão crítica de missão crítica

Desenvolvimento Web. HTML 5 Parte I. Prof. Vicente Paulo de Camargo

LiveGeek.Me DESENVOLVIMENTO DE APLICAÇÕES EM HTML5

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2.

Desenvolvimento Web com Java. Sérgio Lopes Caelum -

Programação para Internet

Tags estruturais <!-- --> Cria um comentário <html> </html> Envolve todo um documento html <head> </head> Envolve o cabeçalho de um documento html

Laboratório de Sistemas e Serviços Web

Roteiro 06. Professor: Prof. M.Sc. Odilon Corrêa da Silva. Curso: Desenvolvimento de Sistemas. Disciplina: Programação para WEB I

HTML. Professor Victor Sotero. html

Centro Universitário de Formiga UNIFOR-MG Ciência da Computação Disciplina: Professor: Alunos: Hibernate V alidator Formiga, Outubro 2011.

Programação web Prof. Wladimir

Aula 05 HTML FORMULÁRIOS Prof. Daniela Pires Sumário

Formulários são áreas onde se inserem campos que permitem uma troca de informações maior entre usuários e desenvolvedores de sites HTML Até o momento,

Introdução a Javascript

Fundamentos Programação

Criando um projeto ASP.Net no Visual Studio 2008

Linguagem de. Aula 06. Profa Cristiane Koehler

Tutorial Cold Fusion Módulo 2 Cold Fusion Brasil -

Minha primeira aplicação utilizando Java Server Faces + Glassfish

Desenvolvimento Web XHTML Formulários. Prof. Bruno E. G. Gomes

TECNOLOGIAS WEB. Unidade 2 Introdução a Construção de Páginas Estáticas. Luiz Leão luizleao@gmail.com

Desenvolvedores JSF Descubra quais são os principais erros na construção de aplicações JSF e aprenda como evitá-los.

Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil

Cascading Style Sheets

Engenharia de Aplicações Sistemas Interactivos 2009/10! JAVASERVER FACES 1.2. Mestrado em Informática Universidade do Minho! 31!

Transcrição:

Componentes do JSF Alteracoes e atualizacoes: Gustavo Wagner 2008 gugawag@gmail.com Slides originais gentilmente cedidos por: Frederico Costa Guedes Pereira 2007 fredguedespereira@gmail.com

Famílias de componentes Comando HtmlCommandButton: um botão de submit HtmlCommandLink: um hiperlink com ação Dados HtmlDataTable: tabela associada a uma fonte de dados Gráficos HtmlGraphicImage: uma imagem Mensagem HtmlMessage: exibe mensagens para a um componente 2

Famílias de componentes Mensagens HtmlMessages: lista de mensagens Entrada de dados HtmlInputHidden: campo oculto html HtmlInputSecret: campo de senha HtmlInputText: campo de entrada de dados simples HtmlInputTextArea: campo de entrada de texto Seleção verdadeiro/falso HtmlSelectBooleanCheckbox: um checkbox 3

Famílias de componentes Itens de seleção UISelectItem: representam um item de uma lista ou combo UISelectItems: representam vários itens Saída de dados HtmlOutputFormat: texto formatado (<h:outputformat>) HtmlOutputLabel: rótulos de campos (<h:outputlabel>) HtmlOutputLink: hiperlink que não produz ação HtmlOutputText: texto simples (<h:outputtext>) UIOutput: texto simples com marcação HTML (<f:verbatim>) 4

Famílias de componentes Painel HtmlPanelGrid: tabela com campos configuráveis HtmlPanelGroup: agrupa componentes para aplicar padrões comuns ou aninhamento Seleção única HtmlSelectOneRadio: grupo de botões de radio HtmlSelectOneListbox: lista de seleção única HtmlSelectOneMenu: combobox de seleção única 5

Famílias de componentes Seleção múltipla HtmlSelectManyCheckbox: checkboxes agrupados HtmlSelectManyListbox: lista de seleção múltipla HtmlSelectManyMenu: lista de seleção múltipla Raiz da árvore de componentes UIViewRoot: elemento raiz da árvore de componentes de uma visão 6

Propriedades Propriedades comuns: Propriedad e Tipo Valor default Obrigatório id String não tem sim value Object não tem sim rendered boolean true não converter Converter não tem não styleclass String não tem não binding String não tem não 7

Propriedades Propriedades pass-through Não são validadas (passam direto para o código HTML) <h:inputtext id="form:nome" tabindex="3" size="20" maxlength="100" value="fred"/> <input type="text" id="form:nome" tabindex ="3" size="20" maxlength="100" value="fred"/> 8

Saída de dados Componentes de saída com formato <h:outputtext value="dados <i>não</i> inseridos:"/> Dados <i>não</i> inseridos: <h:outputtext value="dados <i>não</i> inseridos:" escape="false"/> Dados não inseridos: 9

Saída de dados Componentes de saída simples <f:verbatim escape="true"> <servlet> <servlet-name>frontcontroller</servlet-name> <servlet-class>br.fred.front</servlet-class> </servlet> </f:verbatim> <servlet> <servlet-name>frontcontroller</servlet-name> <servlet-class>br.fred.front</servlet-class> </servlet> 10

Saída de dados f:verbatim também é usado para aninhar tags JSTL dentro de containers JSF <h:panelgrid columns="2" border="1"> <f:verbatim> <c:foreach items="${user.favoritesites}" var="site"> <c:out value="${site}, "/> </c:foreach> </f:verbatim> <f:verbatim escape="false"> <p><font color="red">texto <u>html</u> simples.</font></p> </f:verbatim> </h:panelgrid> 11

Saída de dados Rótulos de componentes de entrada <h:outputlabel for="usernameinput" accesskey="n"> <h:outputtext value="seu nome: "/> </h:outputlabel> <h:inputtext id="usernameinput"/> Browser Seu nome: 12

Saída de dados Textos formatados: <h:outputformat value="olá {0}. Seu perfil é {1}. {0}, seu browser é: {2}."> <f:param value="#{user.name}"/> <f:param value="programador"/> <f:param value="#{header['user-agent']}"/> </h:outputformat> 13

Saída de dados Textos formatados: Date format {número, date, padrão/estilo} {1, date, medium} {1, date, dd.mm.yyyy} Choice format {número, choice, padrão} Dentro do value {1, choice,0#nenhum 1uma 2#duas} 14

Saída de dados Hiperlinks <h:outputlink value="docs/requisitos.htm"> <h:outputtext value="documento de Requisitos"/> </h:outputformat> <a href="docs/requisitos.htm">documento de Requisitos</a> <h:outputlink value="listarturma.do"> <h:outputtext value="listar turma"/> <f:param name="cod" value="100"/> </h:outputformat> 15

Mensagens de um componente Severidade da mensagem Info: mensagem de informação ao usuário Warn: um aviso de possibilidade de erro Error: um erro ocorreu (ex. validação) Fatal: um erro grave ocorreu <h:inputtext id="login" value="#{bb.login}"/> <h:message for="login" showdetail="true" showsummary="true" warnstyle="color: green" infostyle="color: blue" errorstyle="color: red"/> 16

Mensagens de um componente Num método do backing bean if (login é inválido) { FacesMessage msg = new FacesMessage("Login ou senha inválidos."); FacesContext fc = FacesContext.getCurrentInstance(); fc.addmessage("msglogininvalido", msg); }... 17

Mensagens Exibe diversas mensagens de diferentes fontes, independentemente de componente <h:messages globalonly="true" warnstyle="color: green" infostyle="color: blue" errorstyle="color: red"/> 18

Painéis HtmlPanelGroup Agrupa e aplica estilos comuns a diversos componentes Não produz HTML, exceto quando um estilo css ou um id é definido (nestes casos produz um <span>) Usado para agrupar elementos em <f:facet HtmlPanelGrid: Define layouts e estilos É renderizado para HTML num elemento <table> 19

Painéis <h:panelgroup id="titulo"> <h:graphicimage url="images/seta.gif"/> <h:outputtext value="consulta por nome"/> </h:panelgroup> <span id="formtal:titulo"> <img src="images/seta.gif"> Consulta por nome </span> 20

Painéis <h:panelgrid columns="2" cellpadding="1" border="1" width="40%"> <h:outputlabel value="nome:"/> <h:inputtext id="login" value="#{bb.login}"/> <h:outputlabel value="senha:"/> <h:inputtext id="login" value="#{bb.login}"/> <h:commandbutton value="entrar" action= /> </h:panelgrid> Nome: Senha: Entrar 21

Componentes de entrada de dados Registrando listeners Componentes de entrada eventos value-change <h:inputtext value="#{produtobean.nome}" valuechangelistener="#{produtobean.namechanged}"/> Componentes de comando eventos action <h:commandbutton value="gravar" actionlistener="#{produtobean.salve}"/> <h:commandbutton value="gravar"> <f:actionlistener type="br.meu.listenertal" /> <f:actionlistener type="br.meu.listenerqual" /> </h:commandbutton> 22

Componentes de entrada de dados HtmlForm HtmlInputText HtmlInputSecret HtmlInputHidden Os nomes já dizem tudo! HtmlInputTextArea <h:inputtext id="nome" value="#{produtobean.nome}" valuechangelistener="#{produtobean.namechanged}" tabindex="2"/> 23

Itens de seleção UISelectItem Representa um único item de um conjunto de itens Usados por listboxes, botões de radio e checkboxes Não geram HTML, deixam isso para o componente pai <h:componentepai> <f:selectitem itemvalue="0" itemlabel="pb"/> <f:selectitem itemvalue="1" itemlabel="pe"/> <f:selectitem itemvalue="2" itemlabel="rn"/> <f:selectitem itemvalue="3" itemlabel="se"/> </h:componentepai> 24

Itens de seleção UISelectItems Representa uma coleção de itens (SelectItem) Podem ser combinados com SelectItem simples Propriedade value: um SelectItem, um array ou collection de SelectItem ou um Map<String,String> <h:componentepai> <f:selectitem itemvalue="0" itemlabel="pb"/> <f:selectitem itemvalue="1" itemlabel="pe"/> <f:selectitem itemvalue="2" itemlabel="rn"/> <f:selectitems value="#{bbean.outrosestados}" /> </h:componentepai> 25

Componentes de seleção múltipla HtmlSelectManyCheckbox Grupo de checkboxes organizados numa <table> Pode-se definir a direção (horizontal ou vertical) HtmlSelectManyListbox Lista de opções Permite seleção múltipla HtmlSelectManyMenu Lista de elementos em que apenas um por vez pode ser visualizado 26

Componentes de seleção múltipla HtmlSelectManyListbox SelectItem esul[] = new SelectItem[3]; esul[0] = new SelectItem("Parana", "PR"); esul[1] = new SelectItem("Sta. Catarina", "SC"); esul[2] = new SelectItem("R.G. do Sul", "RS"); sul = new SelectItemGroup("Estados do Sul"); sul.setselectitems(esul); <h:selectmanylistbox> <f:selectitem itemvalue="0" itemlabel="pb"/> <f:selectitem itemvalue="1" itemlabel="pe"/> <f:selectitem itemvalue="2" itemlabel="rn"/> <f:selectitem itemvalue="3" itemlabel= CE"/> <f:selectitems value="#{bbean.sul}" /> </ h:selectmanylistbox > 27

Componentes de seleção simples HtmlSelectOneRadio Grupo de botões de radio numa tabela (<table>) Pode-se definir a direção (horizontal ou vertical) HtmlSelectOneListbox Lista com seleção de apenas um único item HtmlSelectOneMenu Um combobox Os itens podem ser hierarquizados 28

Componentes de comando HtmlCommandButton Especifique type= reset para botão de reset <h:commandbutton value= salvar action= #{bb.salvar} /> HtmlCommandLink <h:commandlink action= #{bb.salvar} > <h:outputtext value= Salvar /> </h:commandlink> 29