Java para Desenvolvimento Web

Documentos relacionados
JSP Standard Tag Library (JSTL)

JSP Standard Tag Library (JSTL)

A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

CONTEÚDO PROGRAMÁTICO

Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

DESENVOLVENDO APLICAÇÕES WEB COM JSP E JSTL. Peter Jandl Junior. Novatec

Java II. Sérgio Luiz Ruivace Cerqueira

Formação JAVA Web.

Introdução a JavaServer Pages. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web

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

Desenvolvimento Web TCC Turma A-1

Java II. Sérgio Luiz Ruivace Cerqueira

DESENVOLVIMENTO DE SISTEMAS WEB. Lista de Exercícios AV1-01. Luiz Leão

Java para Desenvolvimento Web Carga Horária: 40 Horas.

Unidade 6: Java Server Pages Prof. Daniel Caetano

JAVA PARA WEB E EJB APLICAÇÕES WEB, SERVIDORES DE APLICAÇÃO, CONTAINERS WEB

Desenvolvimento de aplicações Web. Java Server Pages

JavaServer Pages (JSP) Leonardo Gresta Paulino Murta

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual

Java Server Pages (JSP)

" # $ %&'( ) *' ( +,)+ ( - $ (+*' 0 12 ' ( %+ -12 )+3 ) (4 )) ) % 12 ) *' (

Objetos Implícitos. Conceito. Instanciados pelo próprio contêiner. Disponíveis em quaisquer páginas JSP.

Desenvolvimento Web com Java. Sérgio Lopes Caelum -

Linguagem de Expressão, JSTL e DisplayTag. Fornece tags para encapsular funcionalidades complexas para utilização em JSPs

JSP (Java Server Pages)

Servlets & JSP. Prof. Ramon Chiara

Java para WEB com Struts 2 e Hibernate

Desenvolvimento Web TCC Turma A-1

Desenvolvimento Web III. Prof. Felippe Scheidt

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

PHP INTRODUÇÃO DELIMITADORES DE CÓDIGO EXTENSÃO DE ARQUIVOS

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

JSP - JavaServer Pages

J550. Sessões. Helder da Rocha

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

JSP (JAVASERVER PAGES)

Tecnologias Web. Java Enterprise Edition

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

JSP (Java Server Pages)

Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição

Agenda. O que é um array. Declaração de um array. Instanciação de um array. Acessando os elementos de um array. O tamanho de um array (length)

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

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

4 Conceito de Herança

Orientação a Objetos e Java

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

Java para Web & EJB. Teoria, prática e questões Módulo Introdução e Servlets

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções

Java II. Sérgio Luiz Ruivace Cerqueira

Arquitetura de Software na Web Atual: Processamento no Servidor

Servlets: Relembrando Contextos, Redirecionamento, Atributos e Sessões

Java para Desenvolvimento Web

Laboratório 8 JSP s, EL, JSTL

Linguagem de Programação III

JavaScript (Elementos de Programação e Programação Básica)

Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003

Java na Prática. Célio Silva Aula 3

Grupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Programação Orientada a Objetos

Aula 04 Manipulação e Tipos de Dados em PHP. Prof. Pedro Baesse

Desenvolvimento de Sistemas para WEB Site:

DESENVOLVIMENTO DE SISTEMAS WEB. Lista de Exercícios AV2-01. Luiz Leão

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

Transcrição:

Java para Desenvolvimento Web EL Expression Language Expression Language (Linguagem de Expressão) foi introduzido na versão 1.0 da JSTL (JSP Standard Tag Library), antes da JSTL scriplets eram usados para manipular dados nas aplicações. JSTL introduziu o conceito de Linguagem de Expressão EL, no qual simplifica o desenvolvimento de uma página provendo recursos através de tags. As tags existentes provê recursos de tarefas estruturados como iterações e condições, processamento de arquivos XML, internacionalização e acesso a dados usando SQL. Expression Language introduzida na JSTL 1.0 agora faz parte da especificação JSP 2.0. O padrão para se identificar a EL é ${}, onde entre as chaves estará a expressão. É possível ignorar uma EL utilizando a seguinte diretiva: @ page iselignored ="true" Uma EL apresenta resultados na camada de apresentação introduzindo o desenvolvimento na abordagem do MVC. Com ela é possível: Acesso conciso a objetos armazenados em escopos; ${aluno} Notação resumida para propriedade de Beans; ${aluno.nome}

Acesso simplificado para objetos de coleção; ${alunos[0]} Acesso sucinto para parâmetros de requisição, cookies e outros dados de requisição. ${param.nome} ${cookie.nomecookie.value} Esses são os operadores possíveis para utilização de EL. Operador Descrição. Acesso a uma propriedade do bean [] Acesso a um element de um array () Agrupamento de uma subexpressão? : Condição condition? iftrue : iffalse + Adição - Subtração * Multiplicação /or div Divisão % or mod M Módulo == or eq Igualdade!= or ne Não Igualdade < or lt Menor que > or gt Maior que <= or le Menor ou igual a >= or ge Maior ou igual a && or and Expressão lógica E or or Expressão Lógica OU! or not Operador Unário de negação empty Testa um elemento ( null, String, array, Collection) func(args) Chamada de Função

Exemplo de uso de Operadores Utilizando Scriplets: int k = 0; k = 10 + 20; out.println("valor de k é "+k); Utilizando EL: Valor de k é ${10 + 20} O EL simplifica bastante operações e exibição de dados, onde com Scriplets exigiria mais código e manutenção mais díficl, abaixo uma tabela com outros exemplos de uso do EL. Expressão Resultado ${10.2 + 20.3} 30.5 ${50 mod 8} 2 ${(10==20)? "true" : "false"} false ${10 < 20} true ${10 == 10} true ${100 eq 100} true ${4.0 ge 3} true ${(5*20)!= 100} false ${'a' < 'b'} true ${'4' > 3} true

Variáveis de Escopo Objetos armazenados pelo Servlet em escopos de página, requisição, sessão, ou aplicação. Com EL é possível ter acesso a esses objetos escrevendo apenas o nome do mesmo. Aluno a = new Aluno(); request.setattribute("aluno", a); ${aluno} Ao encontrar uma tag de EL como acima (${aluno}), o contanier JSP procurará por uma variável em algum dos escopos (PageContext, HttpServletRequest, HttpSession e ServletContext), caso encontre o objeto, o método tostring é invocado. Caso haja dois atributos com o mesmo nome em escopos diferentes, é possível especificar o escopo para escrita do valor, abaixo uma lista de objetos implícitos que podem ser usados com EL. Objeto pagecontext pagescope requestscope sessionscope applicationscope param paramvalues header headervalues cookie initparam Função Instância de PageContext Instância de Object Instância de HttpServletRequest Instância de HttpSession Instância de ServletContext Acesso a parâmetros de uma requisição Acesso a todos os paramêtros Acesso ao cabeçalho da requisição Acesso a todos os dados do cabeçalho de uma requisição Acesso a Cookies Acesso a parâmetros de inicialização do web.xml

Exemplo de uso de Objetos Escopos Acessando um atributo de page-scoped chamado nome ${pagescope.nome} Acessando um atributo de request-scoped chamado sobrenome ${requestscope.sobrenome} Acessando um atributo de session-scoped chamado ultimonome ${sessionscope.ultimonome} Page Context Acesso a todos os escopos através de PageContext ${pagecontext.request.protocol} ${pagecontext.response.locale} ${pagecontext.session.id} ${pagecontext.servletcontext} Cookies Acessando Cookies Cookie c=new Cookie("nome","João"); response.addcookie(c); response.sendredirect("exibecookie.jsp"); Pagina1.jsp

Nome : ${cookie["nome"]} Valor : ${cookie["nome"].value} exibecookie.jsp Parâmetros de inicialização Acessando Parâmetros de Inicialização <context-param> <param-name>email</param-name> <param-value>aeciovc@gmail.com</param-value> </context-param> web.xml meu email é: ${initparam.email} pagina3.jsp EL e JavaBeans Um dos principais usos do EL está na exibição de dados que são JavaBeans. Para acessar atributos de um objeto JavaBean usa-se a seguinte sintaxe: ${bean.propriedade} ${aluno.nome} Ao utilizar a sintaxe acima o métodos get da propriedade do JavaBean é invocado. Além de invocar atributos mais comuns é possível ainda aninhar atributos, onde o Bean Aluno tem uma propriedade Curso, que também é um Bean, então caso seja necessário exibir a descrição do curso, a exibição seria da seguinte forma: ${aluno.curso.descricao}

Exemplo de uso de JavaBeans public class Aluno{ private String nome; private String sobrenome; } //getters and setters Aluno.java Aluno a = new Aluno(); a.setnome("juliana"); a.setsobrenome("vieira"); request.setattribute("aluno", a); Nome: ${aluno.nome} SobreNome: ${aluno.sobrenome} Pagina1.jsp

EL e Coleções A EL permite o acesso a entradas de variáveis de escopo relativas a array, List e Map usando a seguinte notação de arrays: ${atributo[entrada]} Assim podemos acessar um ArrayList através do seu índice: ${estado[1]} Ou acessar um HashMap: ${capitais["alagoas"]} Exemplo de uso de Coleções List estados = new ArrayList(); estados.add("piauí"); estados.add("ceará"); estados.add("rio Grande do Norte"); estados.add("paraíba"); estados.add("pernambuco"); estados.add("alagoas"); Map capitais = new HashMap(); capitais.put("piaui","teresina"); capitais.put("ceara","fortaleza"); capitais.put("rio Grande do Norte", "Natal"); capitais.put("paraiba","joão Pessoa"); capitais.put("pernambuco", "Recife"); capitais.put("alagoas", "Maceió"); request.setattribute("capitais", capitais); request.setattribute("estados", estados); Capital: ${capitais["alagoas"]} Estado: ${estados[5]} estados.jsp