Programação para Internet II



Documentos relacionados
Programação para Internet II

Java para WEB JSTL. JavaServer Pages Standard Tag Library

JSTL: facilitando o JSP. Fernando Boaglio

J550 Tag Libraries e JSTL

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

Java na Web. Aplicações Web

Java JSTL. Rodrigo C. de Azevedo

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS -

Java II. Sérgio Luiz Ruivace Cerqueira

JSP Standard Tag Library (JSTL)

JSP Standard Tag Library (JSTL)

JDBC Java Database Connectivity

Servlets & JSP. Prof. Ramon Chiara

Introdução ao PHP. Prof. Késsia Marchi

JSP Standard Tag Library (JSTL)

Desenvolvimento de Aplicações Web. Prof. José Eduardo A. de O. Teixeira / j.edu@vqv.com.br

Aula 03 - Projeto Java Web

Introdução ao SQL. Aécio Costa

Projeto de Banco de Dados

Principais Comandos SQL Usados no MySql

Programação II Programação para a Web. Christopher Burrows

Primeiro exemplo de uso de páginas JSP

A linguagem SQL

TUTORIAL JSP & SERVLET

JavaServer Pages (JSP) Leonardo Gresta Paulino Murta

Fernando Freitas Costa. Pós-Graduando em Gestão e Docência Universitária. blog.fimes.edu.br/fernando nando@fimes.edu.br

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL.

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha

SQL Server Ferramenta de administração. SQL Server Management Studio. 1º passo conectar ao banco de dados 2ª Query (consulta) usando SQL

O que é uma tag Tag tag tag tag tag tags tags HTML O que é uma tag library biblioteca de tags tags Java Standard Tag Library JSTL Tag Library JSTL

Introdução. História. Como funciona

Webdesign A tag HEAD e as Meta tags

Modelo Cliente/Servidor Por HIARLY ALVES

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico

PHP INTEGRAÇÃO COM MYSQL PARTE 1

2 echo "PHP e outros.";

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Universidade São Judas Tadeu. Faculdade de Tecnologia e Ciências Exatas. Sistemas de Informação 3ASIN

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

TUTORIAL DE INTRODUÇÃO AO CEWOLF

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

Aplicações de Linguagem de Programação Orientada a Objeto

Java Beans e Servlets

Prof.: Clayton Maciel Costa

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

Programação Web Prof. Wladimir

Desenvolvedor Web Docente André Luiz Silva de Moraes

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Treinamento em PHP. Aula 1. Ari Stopassola Junior

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS

Programação para Internet II

Tutorial Jogo da Velha WEB

Introdução ao HTML 5 e Implementação de Documentos

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

SQL. Autor: Renata Viegas

J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Programação para Android. Aula 08: Persistência de dados SQL

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart.

Curso de Java. Geração de Páginas WEB através de JSP. Todos os direitos reservados Klais

Apache -Tomcat. Instalação e Configuração. Grupo Multitecnus,


Introdução à Engenharia da Computação. Banco de Dados Professor Machado

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Desenvolvimento de Sites com PHP e Mysql Docente André Luiz Silva de Moraes

Algoritmia e Programação APROG HTML. Introdução. Nelson Freire (ISEP DEI-APROG 2014/15) 1/15

Desenvolvimento de Aplicações para Internet Aula 8

Scriptlets e Formulários

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

1. Fazer aplicação exemplo

English Português. By erickalves 25 Julho, :08. Devido à política (#) de segurança. Encontrar Blogs Crie o seu blog de graça Ganhe prêmios

PROGRAMAÇÃO PARA INTERNET HTML

USANDO APPLETS NO NETBEANS (WEB APPLICATION)...E A APPLET CHAMA ALGUM PACOTE EXTERNO (por Luis Alberto M Palhares de Melo Julho/2011)

Laboratório de Programação 3 Parte II 2 - Struts. Maj Mello SE/8 IME cgmello@de9.ime.eb.br

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

Programação para web JavaScript

Programação para Internet II

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

Informática I. Aula 6. Aula 6-12/09/2007 1

Linguagem de Programação. Introdução ao PHP. Prof Mauricio Lederer Ciência da Computação - UNIANDRADE 1

O que são Bancos de Dados?

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Programação Web com PHP. Prof. Wylliams Barbosa Santos Optativa IV Projetos de Sistemas Web

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

CAPITULO 5 COMANDO DE FLUXO IF

Comandos de Manipulação

Aplicativos para Internet Aula 01

Desenvolvendo Aplicações Web com NetBeans

Programação Web Aula 12 - Java Web Software

Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.

JDBC. Prof. Márcio Bueno

Banco de Dados. Maurício Edgar Stivanello

Programando em PHP. Conceitos Básicos

Transcrição:

Programação para Internet II Aulas 09 e 10 Fernando F. Costa nando@fimes.edu.br

Linguagens de Expressão - EL É uma Linguagem de script que permite o acesso à componentes Java (JavaBeans) através de JSP. Desde o JSP 2.0, ela tem sido utilizada dentro de tags JSP para separar o código Java do código JSP e para possibilitar o acesso mais fácil aos componentes Java (e assim ao código Java).

EL - Vantagens Método conciso para acessar objetos armazenados em algum escopo. Ex: Objeto chamado item é acessado com ${item}. Notação curta para propriedades de beans. Ex.: propriedade nome de um bean companhia, utiliza-se ${companhia.nome} Acesso simplificado a coleções de objetos: Acesso a elementos de vetores ou List através da expressão ${variavel[indiceouchave]}. A notação de ponto usada com beans é intercambiável com a notação de chaves quando se utiliza coleções. Ex: ${vetor1[2]} ou ${lista1.nome}

EL - Vantagens Presença de um conjunto pequeno mas útil de operadores utilizados para a manipulação em expressões com EL. Ex: Operadores aritméticos, relacionais, lógicos, de teste de vazio. Conversão automática de tipos. Com EL não é necessário realizar conversões de tipo (typecasts) e explicitamente transformar strings em números, pois isto é feito automaticamente.

EL Acessando Propriedades ${varnome.propriedadenome}: Indica que irá buscar uma variável de um nome específico (varnome) e que irá apresentar o valor de uma das propriedades dessa variável (propriedadenome). Ex: ${academico.matricula} ${varnome[indice ou parametro]}: Indica que ira localizar uma variável de um nome específico e acessar o valor do índice especificado ou do parametro informado. Ex: ${academicos[1]} ou $academico[ codigo ]}

EL Operadores (Relacionais, Lógicos e Aritméticos) Outros operadores: * (multiplicação), / (divisão), - (subtração), % (resto de divisão)

JSTL - JSP Standard Tag Library Biblioteca Padrão de Tags JSP

JSTL O que é? JSTL consiste em uma coleção de bibliotecas, tendo cada uma um propósito bem definido, que permitem escrever páginas JSP s sem código Java, aumentando assim a legibilidade do código e a interação entre desenvolvedores e web designers. Uma página JSTL é uma página JSP contendo um conjunto de tags JSTL s. Cada tag realiza um determinado tipo de processamento (equivalente a código Java dentro de uma JSP). Cada tag JSTL, faz parte de uma biblioteca JSTL. Uma página JSTL pode utilizar várias bibliotecas JSTL s.

JSTL Para que serve? Criar páginas dinâmicas bastante complexas sem escrever código Java dentro delas; Fornecer tags que tornem fáceis tarefas que exigiriam várias linhas de código Java. Ex: Formatação de números e datas seguindo configurações regionais do usuário; Facilitar a interação entre desenvolvedores e web designers.

JSTL - Exemplo <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <html> <body bgcolor="#ffffff"> <jsp:usebean id="agora" class="java.util.date"/> <br> Versão Curta: <fmt:formatdate value="${agora}" /> <br> Versão Longa: <fmt:formatdate value="${agora}" datestyle="full"/> </body> </html>

JSTL Bibliotecas Padrão Biblioteca Core (prefixo: c) - Controle de Fluxo, Manipulação de variáveis, Gerenciamento de URL Inclusão em JSP: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> Biblioteca XML (prefixo: x) - Manipulação de arquivos XML, controle do fluxo dos elementos de um documento e transformações Inclusão em JSP: <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %> Biblioteca Internationalization (i18n) (prefixo: fmt) - Formatação de mensagens, números e datas Inclusão em JSP: <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> Biblioteca Database (prefixo: sql) - Gestão de consultas a Bancos de Dados - Inclusão em JSP: <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> Biblioteca Functions (prefixo: fn) - Gestão de coleções, Manipulação de Strings Inclusão: <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

JSTL Tags Básicas (Biblioteca Core) <c:foreach>: laços de repetição. Ex: <c:foreach var="i" begin="2" end="5"> </c:foreach> <c:fortokens>: quebra string em substrings de acordo com o delimitador indicado. Ex: <c:fortokens var="i" delims="," items="2,3,4,5">... </c:fortokens > <c:if>: teste condicional. Ex: <c:if test="${i % 2 == 0}">... </c:if> <c:choose>: múltiplos testes condicionais. Utilizada juntamente com as tags <c:then> e <c:otherwise>. Ex: <c:choose> <c:when test="${i % 2 == 0}">${i} (par)</c:when> <c:otherwise>${i} (impar)</c:otherwise> </c:choose>

JSTL Tags Básicas (Biblioteca Core) <c:import>: Permite importar páginas web do mesmo contexto web, de contextos diferentes e até mesmo de máquinas diferentes. Ex: <c:import var="headertext" url="header.jsp"/> <c:set>: Permite a atribuir valores a variáveis em um determinado escopo. Ex: <c:set scope="request" var="title" value="bem vindo a página"/> <c:out>: Imprime uma saída para o usuário. Função semelhante as tags de expressão do JSP. Ex: <c:out value="${2 * 3}" /> <c:catch>: Tenta executar o que estiver dentro de seu corpo, e caso ocorra alguma exceção, armazena na variável informada. Ex: <c:catch var="ex">

JSTL Uso do if <%@ page language="java" contenttype="text/html; charset=iso-8859-1" pageencoding="iso-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>jstl: Lógica com a Tag if</title> </head> <body> <h3>jstl: Lógica com a Tag <code>if</code></h3> <ul> <c:foreach var="i" begin="1" end="10"> <li><c:out value="${i}"/> <c:if test="${i > 7}"> (maior que 7) </c:if> </li> </c:foreach> </ul> </body> </html>

Resultado Esperado

JSTL Tags de Formatação <fmt:formatnumber>: Formatar um valor numérico como um número, um valor monetário, uma porcentagem ou respeitando uma locale qualquer. <fmt:parsenumber>: Realizar um parse em um número ou valor. <fmt:formatdate>: Formatar uma data <fmt:parsedate>: Realizar um parse em uma data. <fmt:timezone>: Recuperar uma timezone. <fmt:settimezone>: Definir uma timezone. <fmt:setlocale>: Define o local (a língua a ser usada) na aplicação.

Trabalhando com Datas e Números <%@ page language="java" contenttype="text/html; charset=iso-8859-1" pageencoding="iso-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <html> <body> <jsp:usebean id="now" class="java.util.date" /> <h2>internacionalização e Formatação de Datas</h2> <ul> <li>formatando a data atual como "GMT":<br> <fmt:timezone value="gmt"> <fmt:formatdate value="${now}" type="both" datestyle="full" timestyle="full" /> </fmt:timezone></li> <li>formatando a data atual como "GMT+1:00", e realizando um <i>parse</i> sobre ela:<br> <fmt:timezone value="gmt+1:00"> <fmt:formatdate value="${now}" type="both" datestyle="full" timestyle="full" var="formatted" /> <fmt:parsedate value="${formatted}" type="both" datestyle="full" timestyle="full" timezone="pst" var="parseddatetime" />

Trabalhando com Datas e Números Data obtida via parse: <fmt:formatdate value="${parseddatetime}" type="date" datestyle="full" /><br> Tempo obtido via parse: <fmt:formatdate value="${parseddatetime}" type="time" timestyle="full" /> </fmt:timezone></li> <li>formatando a data atual no formato longo:<br> <fmt:formatdate type="both" datestyle="long" timestyle="long" value="${now}" /></li> <li>formatando a data atual no formato médio:<br> <fmt:formatdate type="both" datestyle="medium" timestyle="medium" value="${now}" /></li> <li>formatando a data atual no formato curto:<br> <fmt:formatdate type="both" datestyle="short" timestyle="short" value="${now}" /></li> <li>formatando a data atual no formato yyyy-mm-dd:<br> <fmt:formatdate pattern="yyyy-mm-dd" value="${now}" /></li> <li>formatando um número no formato moeda:<br> <fmt:setlocale value="pt-br" /> <fmt:formatnumber value="1000000" minfractiondigits="2" type="currency"/></li> </ul> </body> </html>

Resultado Esperado

JSTL Tags de Acesso ao BD <sql:setdatasource>: Cria um datasource, que proverá uma conexão ao servidor de banco dados para qualquer página JSP participante do mesmo escopo. Ex: <sql:setdatasource var="ds" driver="com.mysql.jdbc.driver" url="jdbc:mysql://localhost:3307/registroacademico" user="root" password="123456" scope="session"/> <sql:transaction>: Cria uma transação com o banco dados, onde podemos executar de forma mais protegida e sequencial, várias atualizações ou inserções. <sql:transaction datasource="${ds}">

JSTL Tags de Acesso ao BD <sql:query>: Executa uma consulta sql. Ex: <sql:query var="academicos"...> SELECT * FROM Academico </sql:query> <sql:update>: Executa uma atualização sql (inserção, atualização ou exclusão). Ex: <sql:update var="atualizaacademico"...> INSERT INTO academico VALUES (2,'Fernando') </sql:update> <sql:param>: Determina valores para parâmetros de uma instrução em tempo de execução. Ex: <sql:update var="gravaaluno"...> insert into ALUNOS (MATRICULA,NOME) values(?,?) <sql:param value="${param['edtmatricula']}"/> <sql:param value="${param['edtnome']}"/> </sql:update>

Exemplo Para o nosso exemplo com JSTL, criem um banco de dados e uma tabela com os campos (id, matricula, nome, endereco, telefone). create database academico; create table aluno ( id integer not null auto_increment, matricula integer not null, nome varchar (50) not null, endereco varchar(70), telefone varchar(13), primary key (id) );

Listagem com JSTL <%@page contenttype="text/html"%> <%@page pageencoding="utf-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <%@taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <html> <head> <sql:setdatasource var="ds" datasource="jdbc:mysql://localhost:3306/academico, com.mysql.jdbc.driver, admin, admin" /> <title>exemplo JSTL </title> </head> <body> <h1>relação de Alunos</h1> <hr> <sql:query var="resultadoalunos" datasource="${ds}"> select * from aluno </sql:query>

Listagem com JSTL <table border="1"> continuação... <tr> <th>id</th> <th>matricula</th> <th>nome</th> <th>endereco</th> <th>telefone</th> </tr> <c:foreach var="listaalunos" items="${resultadoalunos.rows}"> <tr> <!--A tag out é responsável por gerar uma String de saída na tela --> <td><c:out value="${listaalunos.id}"/></td> <td><c:out value="${listaalunos.matricula}"/></td> <td><c:out value="${listaalunos.nome}"/></td> <td><c:out value="${listaalunos.endereco}"/></td> <td><c:out value="${listaalunos.telefone}"/></td> </tr> </c:foreach> </table> </body> </html>

Resultado Esperado

Referências JÚNIOR, José Celso Freire. Linguagem de Expressão 2.0 e JSP-Standard Tag Library (JSTL). MEDEIROS, Manoel Pimentel. JSTL Exemplo de um cadastro web VALENTIM, Ricardo. JSTL - JSP Standard Tag Library. 2007