SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
Java WEBJava Enterprise Edition
Tutorial 02
JSTL em 21 mins
© Fernando Anselmo, 2012
Tutorial 02 – JSTL em 21 mins Fernando Anselmo
A. Como disponibilizar?
Importar para o projeto as bibliotecas jstl.jar e standard.jar.
B. Como interagir com o Banco de Dados?
Basicamente a página só precisará do acesso a Core e a SQL, colocado desta maneira
<%@ taglib uri='dbsql' prefix='sql' %>
<%@ taglib uri='core' prefix='c' %>
Para realizar a conexão:
<sql:setDataSource var="conn"
driver="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost:3306/dfjug?user=root&useUnicode=true"
/>
Para executar uma query:
<sql:query var="rSet" dataSource="${conn}">
SELECT * FROM tabela
</sql:query>
Para obter os dados:
1° Modo: arma-se um comando for, do seguinte modo:
<c:forEach var='row' items='${rSet.rowsByIndex}'>
<c:forEach var='rowData' items='${row}'>
<c:out value='${rowData}'/>
</c:forEach>
</c:forEach>
O primeiro for conta as linhas, enquanto que o segundo verifica as colunas.
2° Modo: O mesmo laço pode obter pelos nomes da coluna:
<c:forEach var='row' items='${rSet.rows}'>
<c:out value='${row.NomeColuna}'/>
</c:forEach>
3° Modo: Também é possível pegar pelo número do campo:
<c:forEach var='row' items='${rSet.rowsByIndex}'>
<c:out value='${row[numColuna]}'/>
</c:forEach>
4° Modo: Pegando apenas uma única linha:
<c:out value='${rSet.rowsByIndex[numLinha][numColuna]}'/>
C. Como são os comandos básicos?
C1. Criando uma variável
<c:set var="curso" value="JSP"/>
C2. Mostrando a variável na página
<c:out value="${curso}"/>
C3. Removendo variáveis
~ 2 ~
Tutorial 02 – JSTL em 21 mins Fernando Anselmo
<c:remove var="curso"/>
C4. Trilhar erros de variáveis que não existem
<c:out var="${curso}" escapeXml="false">
Curso não existe
</c:out>
C5. Executando um if além de guardar seu resultado em uma variável
<c:if test="${curso == 'JSP'}" var="teste">
São iguais
</c:if>
Resultado do IF: <c:out value="${teste}"/>
C6. Usando um if mais complexo, é possível inclusive encadear
<c:choose>
<c:when test="${curso == 'JSP'}">
São iguais
</c:when>
<c:otherwise>
São diferentes
</c:otherwise>
</c:choose>
C7. Fazendo importações de JSPF com teste para verificar possíveis erros:
<c:catch var="erro">
<c:import url="pagina.jspf"/>
</c:catch>
<c:if test="${not empty erro}">
Não consegui encontrar a página especificada
</c:if>
C8. Fazendo redireções
<c:redirect url="pagina.jsp"/>
C9. Obtendo parametros
<c:out value='${param.nome}'/>
D. Usar Variáveis definidas no scriptlet?
D1. De Scriptlet para TagsStandards
<%
String s = "teste";
pageContext.setAttribute("nome", s);
%>
<c:out var="${nome}"/>
D2. De TagsStandards para Scriptlet
<c:set var="curso" value="JSP"/>
<%=pageContext.getAttribute("curso")%>
E. Usar variáveis do tipo Inteiro?
<% pageContext.setAttribute("idt", new Integer(2)); %>
<c:if test="${idt > 1}">
É maior que 1
~ 3 ~
Tutorial 02 – JSTL em 21 mins Fernando Anselmo
</c:if>
Pode-se usar os seguintes comparadores:
! not empty < lt > gt <= le >= ge == eq != ne
F. Usar variáveis do tipo Lógico?
<c:set var='liga' value='false'/>
<c:set var='liga' value='${!liga}'/>
<c:if test="${liga}">
Tá ligada
</c:if>
G. Como usar a formatação?
G1. Usando o formato Brasileiro
<%@ taglib uri='format' prefix='fmt' %>
<fmt:setLocale value='pt_BR'/>
G2. De campos numéricos
<fmt:formatNumber value='121212.122' pattern='0.000' maxFractionDigits='3'/>
<fmt:formatNumber value='121212.122' pattern='0.00' maxFractionDigits='2'/>
G3. De campos data
<jsp:useBean id="now" class="java.util.Date"/>
<fmt:formatDate value='${now}'/>
<fmt:formatDate value='${now}' type='both' dateStyle='full' timeStyle='full'/>
Valores possíveis são: default, short, medium, long e full.
H. Como usar em Beans ?
H1. Construindo o Bean
Os bens deverão ter métodos padrões definidos com set (entrada) e get (saída) por
exemplo:
package beans;
public class MeuBean {
private String nome;
public void setNome(String newValue) { nome = newValue; }
public String getMostra() { return nome; }
}
H2. Acessando este bean pela aplicação
<jsp:useBean id='bnProjeto' class='beans.MeuBean'>
<c:set target='${bnProjeto}' property='nome' value='Fernando'/>
</jsp:useBean>
<c:out value='${bnProjeto.mostra}'/>
~ 4 ~

Mais conteúdo relacionado

Mais procurados

Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseLuiz Duarte
 
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasNode.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasRodrigo Branas
 
Setting response status code (brutos mvc)
Setting response status code (brutos mvc)Setting response status code (brutos mvc)
Setting response status code (brutos mvc)Afonso Brandão
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.jsGiovanni Bassi
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoFreedom DayMS
 
Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Eduardo Mendes
 

Mais procurados (8)

Javascript + jQuery
Javascript + jQueryJavascript + jQuery
Javascript + jQuery
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + Mongoose
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasNode.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
 
Setting response status code (brutos mvc)
Setting response status code (brutos mvc)Setting response status code (brutos mvc)
Setting response status code (brutos mvc)
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.js
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com Django
 
Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2
 

Destaque

global marketing lesson - strategic planning
global marketing lesson - strategic planningglobal marketing lesson - strategic planning
global marketing lesson - strategic planningLindsey Fair, MBA
 
Why Outsource To Scs Poster
Why Outsource To Scs PosterWhy Outsource To Scs Poster
Why Outsource To Scs PosterCharles Boyd
 
Presentación1
Presentación1Presentación1
Presentación1darymary
 
Proyectos para el desarrollo de las competencias. Nuevos modelos de planifica...
Proyectos para el desarrollo de las competencias. Nuevos modelos de planifica...Proyectos para el desarrollo de las competencias. Nuevos modelos de planifica...
Proyectos para el desarrollo de las competencias. Nuevos modelos de planifica...INTEF
 
Plantilla idea argumental
Plantilla idea argumentalPlantilla idea argumental
Plantilla idea argumentalMtraCristian
 
Cómo insertar herramientas en las páginas del TwinSpace
Cómo  insertar herramientas  en las páginas del TwinSpaceCómo  insertar herramientas  en las páginas del TwinSpace
Cómo insertar herramientas en las páginas del TwinSpaceeTwinning España
 
Tobias Kresse Palomas
Tobias Kresse PalomasTobias Kresse Palomas
Tobias Kresse PalomasHelga
 
A halloween Party
A halloween Party   A halloween Party
A halloween Party isarevi
 
The Lie
The Lie   The Lie
The Lie isarevi
 
Prueba de conocimientos de acceso al cuerpo de maestro en Madrid
Prueba de conocimientos de acceso al cuerpo de maestro en MadridPrueba de conocimientos de acceso al cuerpo de maestro en Madrid
Prueba de conocimientos de acceso al cuerpo de maestro en MadridElena Ayala Bailador
 
Tunnel of Terror
Tunnel of Terror   Tunnel of Terror
Tunnel of Terror isarevi
 

Destaque (20)

prueba
pruebaprueba
prueba
 
Open overheid
Open overheidOpen overheid
Open overheid
 
Tema 8 lengua 6º
Tema 8 lengua 6ºTema 8 lengua 6º
Tema 8 lengua 6º
 
Nimbuzz
NimbuzzNimbuzz
Nimbuzz
 
global marketing lesson - strategic planning
global marketing lesson - strategic planningglobal marketing lesson - strategic planning
global marketing lesson - strategic planning
 
Yahoo
YahooYahoo
Yahoo
 
Caja de pc
Caja de pcCaja de pc
Caja de pc
 
Why Outsource To Scs Poster
Why Outsource To Scs PosterWhy Outsource To Scs Poster
Why Outsource To Scs Poster
 
Resumen Marx
Resumen MarxResumen Marx
Resumen Marx
 
Mateo castaño
Mateo castañoMateo castaño
Mateo castaño
 
Presentación1
Presentación1Presentación1
Presentación1
 
Proyectos para el desarrollo de las competencias. Nuevos modelos de planifica...
Proyectos para el desarrollo de las competencias. Nuevos modelos de planifica...Proyectos para el desarrollo de las competencias. Nuevos modelos de planifica...
Proyectos para el desarrollo de las competencias. Nuevos modelos de planifica...
 
Plantilla idea argumental
Plantilla idea argumentalPlantilla idea argumental
Plantilla idea argumental
 
Cómo insertar herramientas en las páginas del TwinSpace
Cómo  insertar herramientas  en las páginas del TwinSpaceCómo  insertar herramientas  en las páginas del TwinSpace
Cómo insertar herramientas en las páginas del TwinSpace
 
Tobias Kresse Palomas
Tobias Kresse PalomasTobias Kresse Palomas
Tobias Kresse Palomas
 
Un cuento de mar
Un cuento de marUn cuento de mar
Un cuento de mar
 
A halloween Party
A halloween Party   A halloween Party
A halloween Party
 
The Lie
The Lie   The Lie
The Lie
 
Prueba de conocimientos de acceso al cuerpo de maestro en Madrid
Prueba de conocimientos de acceso al cuerpo de maestro en MadridPrueba de conocimientos de acceso al cuerpo de maestro en Madrid
Prueba de conocimientos de acceso al cuerpo de maestro en Madrid
 
Tunnel of Terror
Tunnel of Terror   Tunnel of Terror
Tunnel of Terror
 

Semelhante a JSTL em 21mins

Manipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBCManipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBCAntonio Passos
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcJeison Barros
 
Apresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc QuixadáApresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc QuixadáZarathon Maia
 
Jdbc, JAVA DATABASE CONNECTIVITY
Jdbc, JAVA DATABASE CONNECTIVITYJdbc, JAVA DATABASE CONNECTIVITY
Jdbc, JAVA DATABASE CONNECTIVITYraquelcarsi
 
Trabalho teorico de Linguagem de Programação
Trabalho teorico de Linguagem de ProgramaçãoTrabalho teorico de Linguagem de Programação
Trabalho teorico de Linguagem de Programaçãocarlosveiga
 
Spring + Tapestry Um novo paradigma de desenvolvimento web
Spring + Tapestry Um novo paradigma de desenvolvimento webSpring + Tapestry Um novo paradigma de desenvolvimento web
Spring + Tapestry Um novo paradigma de desenvolvimento webelliando dias
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)Zeno Rocha
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebElenilson Vieira
 
Yet Another Ruby Framework - Como o Rails funciona por dentro
Yet Another Ruby Framework - Como o Rails funciona por dentroYet Another Ruby Framework - Como o Rails funciona por dentro
Yet Another Ruby Framework - Como o Rails funciona por dentroCarlos Brando
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationMario Sergio
 
Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheirasLambda 3
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-ptPedro Sousa
 
Programação para Web II: JavaServer Pages
Programação para Web II:  JavaServer PagesProgramação para Web II:  JavaServer Pages
Programação para Web II: JavaServer PagesAlex Camargo
 
Apresentação sobre MVVMC
Apresentação sobre MVVMCApresentação sobre MVVMC
Apresentação sobre MVVMCAlisson Agiani
 

Semelhante a JSTL em 21mins (20)

Java 16 Jdbc
Java 16 JdbcJava 16 Jdbc
Java 16 Jdbc
 
Manipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBCManipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBC
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbc
 
Apresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc QuixadáApresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc Quixadá
 
Jdbc, JAVA DATABASE CONNECTIVITY
Jdbc, JAVA DATABASE CONNECTIVITYJdbc, JAVA DATABASE CONNECTIVITY
Jdbc, JAVA DATABASE CONNECTIVITY
 
Trabalho teorico de Linguagem de Programação
Trabalho teorico de Linguagem de ProgramaçãoTrabalho teorico de Linguagem de Programação
Trabalho teorico de Linguagem de Programação
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Spring + Tapestry Um novo paradigma de desenvolvimento web
Spring + Tapestry Um novo paradigma de desenvolvimento webSpring + Tapestry Um novo paradigma de desenvolvimento web
Spring + Tapestry Um novo paradigma de desenvolvimento web
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 
Jdbc
JdbcJdbc
Jdbc
 
Yet Another Ruby Framework - Como o Rails funciona por dentro
Yet Another Ruby Framework - Como o Rails funciona por dentroYet Another Ruby Framework - Como o Rails funciona por dentro
Yet Another Ruby Framework - Como o Rails funciona por dentro
 
jsp-intro
jsp-introjsp-intro
jsp-intro
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
 
Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheiras
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-pt
 
Programação para Web II: JavaServer Pages
Programação para Web II:  JavaServer PagesProgramação para Web II:  JavaServer Pages
Programação para Web II: JavaServer Pages
 
Apresentação sobre MVVMC
Apresentação sobre MVVMCApresentação sobre MVVMC
Apresentação sobre MVVMC
 

Mais de Fernando Anselmo (20)

Tutorial para Ukulele
Tutorial para UkuleleTutorial para Ukulele
Tutorial para Ukulele
 
Curso administracao do tempo
Curso administracao do tempoCurso administracao do tempo
Curso administracao do tempo
 
ReviSE - Edição 72
ReviSE - Edição 72ReviSE - Edição 72
ReviSE - Edição 72
 
ReviSE - Edição 71
ReviSE - Edição 71ReviSE - Edição 71
ReviSE - Edição 71
 
ReviSE - Edição 70
ReviSE - Edição 70ReviSE - Edição 70
ReviSE - Edição 70
 
ReviSE - Edição 69
ReviSE - Edição 69ReviSE - Edição 69
ReviSE - Edição 69
 
ReviSE - Edição 68
ReviSE - Edição 68ReviSE - Edição 68
ReviSE - Edição 68
 
ReviSE - Edição 67
ReviSE - Edição 67ReviSE - Edição 67
ReviSE - Edição 67
 
ReviSE - Edição 66
ReviSE - Edição 66ReviSE - Edição 66
ReviSE - Edição 66
 
ReviSE - Edição 65
ReviSE - Edição 65ReviSE - Edição 65
ReviSE - Edição 65
 
ReviSE - Edição 64
ReviSE - Edição 64ReviSE - Edição 64
ReviSE - Edição 64
 
ReviSE - Edição 63
ReviSE - Edição 63ReviSE - Edição 63
ReviSE - Edição 63
 
Ambiente de Desenvolvimento Linux
Ambiente de Desenvolvimento LinuxAmbiente de Desenvolvimento Linux
Ambiente de Desenvolvimento Linux
 
ReviSE - Edição 62
ReviSE - Edição 62ReviSE - Edição 62
ReviSE - Edição 62
 
ReviSE - Edição 61
ReviSE - Edição 61ReviSE - Edição 61
ReviSE - Edição 61
 
ReviSE - Edição 60
ReviSE - Edição 60ReviSE - Edição 60
ReviSE - Edição 60
 
ReviSE - Edição 59
ReviSE - Edição 59ReviSE - Edição 59
ReviSE - Edição 59
 
ReviSE - Edição 58
ReviSE - Edição 58ReviSE - Edição 58
ReviSE - Edição 58
 
ReviSE - Edição 57
ReviSE - Edição 57ReviSE - Edição 57
ReviSE - Edição 57
 
ReviSE - Edição 56
ReviSE - Edição 56ReviSE - Edição 56
ReviSE - Edição 56
 

Último

AULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptx
AULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptxAULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptx
AULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptxGislaineDuresCruz
 
As variações do uso da palavra "como" no texto
As variações do uso da palavra "como" no  textoAs variações do uso da palavra "como" no  texto
As variações do uso da palavra "como" no textoMariaPauladeSouzaTur
 
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETOProjeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETODouglasVasconcelosMa
 
Mini livro sanfona - Povos Indigenas Brasileiros
Mini livro sanfona  - Povos Indigenas BrasileirosMini livro sanfona  - Povos Indigenas Brasileiros
Mini livro sanfona - Povos Indigenas BrasileirosMary Alvarenga
 
POETAS CONTEMPORANEOS_TEMATICAS_explicacao.pptx
POETAS CONTEMPORANEOS_TEMATICAS_explicacao.pptxPOETAS CONTEMPORANEOS_TEMATICAS_explicacao.pptx
POETAS CONTEMPORANEOS_TEMATICAS_explicacao.pptxJMTCS
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxLuizHenriquedeAlmeid6
 
Gametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoGametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoCelianeOliveira8
 
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptxSlides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptxLuizHenriquedeAlmeid6
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxDeyvidBriel
 
Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...
Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...
Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...nexocan937
 
EVANGELISMO É MISSÕES ATUALIZADO 2024.pptx
EVANGELISMO É MISSÕES ATUALIZADO 2024.pptxEVANGELISMO É MISSÕES ATUALIZADO 2024.pptx
EVANGELISMO É MISSÕES ATUALIZADO 2024.pptxHenriqueLuciano2
 
Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024GleyceMoreiraXWeslle
 
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTREVACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTREIVONETETAVARESRAMOS
 
19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileirosMary Alvarenga
 
LIVRO A BELA BORBOLETA. Ziraldo e Zélio.
LIVRO A BELA BORBOLETA. Ziraldo e Zélio.LIVRO A BELA BORBOLETA. Ziraldo e Zélio.
LIVRO A BELA BORBOLETA. Ziraldo e Zélio.HildegardeAngel
 
A Unidade de Espiritualidade Eudista se une ao sentimiento de toda a igreja u...
A Unidade de Espiritualidade Eudista se une ao sentimiento de toda a igreja u...A Unidade de Espiritualidade Eudista se une ao sentimiento de toda a igreja u...
A Unidade de Espiritualidade Eudista se une ao sentimiento de toda a igreja u...Unidad de Espiritualidad Eudista
 
O Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdf
O Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdfO Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdf
O Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdfQueleLiberato
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...LuizHenriquedeAlmeid6
 

Último (20)

AULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptx
AULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptxAULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptx
AULA-06---DIZIMA-PERIODICA_9fdc896dbd1d4cce85a9fbd2e670e62f.pptx
 
As variações do uso da palavra "como" no texto
As variações do uso da palavra "como" no  textoAs variações do uso da palavra "como" no  texto
As variações do uso da palavra "como" no texto
 
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETOProjeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
 
Mini livro sanfona - Povos Indigenas Brasileiros
Mini livro sanfona  - Povos Indigenas BrasileirosMini livro sanfona  - Povos Indigenas Brasileiros
Mini livro sanfona - Povos Indigenas Brasileiros
 
POETAS CONTEMPORANEOS_TEMATICAS_explicacao.pptx
POETAS CONTEMPORANEOS_TEMATICAS_explicacao.pptxPOETAS CONTEMPORANEOS_TEMATICAS_explicacao.pptx
POETAS CONTEMPORANEOS_TEMATICAS_explicacao.pptx
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
 
Gametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoGametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e feminino
 
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptxSlides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
 
Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...
Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...
Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...
 
EVANGELISMO É MISSÕES ATUALIZADO 2024.pptx
EVANGELISMO É MISSÕES ATUALIZADO 2024.pptxEVANGELISMO É MISSÕES ATUALIZADO 2024.pptx
EVANGELISMO É MISSÕES ATUALIZADO 2024.pptx
 
Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024
 
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTREVACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
 
19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros
 
Os Ratos - Dyonelio Machado FUVEST 2025
Os Ratos  -  Dyonelio Machado  FUVEST 2025Os Ratos  -  Dyonelio Machado  FUVEST 2025
Os Ratos - Dyonelio Machado FUVEST 2025
 
LIVRO A BELA BORBOLETA. Ziraldo e Zélio.
LIVRO A BELA BORBOLETA. Ziraldo e Zélio.LIVRO A BELA BORBOLETA. Ziraldo e Zélio.
LIVRO A BELA BORBOLETA. Ziraldo e Zélio.
 
A Unidade de Espiritualidade Eudista se une ao sentimiento de toda a igreja u...
A Unidade de Espiritualidade Eudista se une ao sentimiento de toda a igreja u...A Unidade de Espiritualidade Eudista se une ao sentimiento de toda a igreja u...
A Unidade de Espiritualidade Eudista se une ao sentimiento de toda a igreja u...
 
“O AMANHÃ EXIGE O MELHOR DE HOJE” _
“O AMANHÃ EXIGE O MELHOR DE HOJE”       _“O AMANHÃ EXIGE O MELHOR DE HOJE”       _
“O AMANHÃ EXIGE O MELHOR DE HOJE” _
 
O Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdf
O Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdfO Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdf
O Espetaculo das Racas - Cienti - Lilia Moritz Schwarcz capítulo 2.pdf
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
 

JSTL em 21mins

  • 1. Java WEBJava Enterprise Edition Tutorial 02 JSTL em 21 mins © Fernando Anselmo, 2012
  • 2. Tutorial 02 – JSTL em 21 mins Fernando Anselmo A. Como disponibilizar? Importar para o projeto as bibliotecas jstl.jar e standard.jar. B. Como interagir com o Banco de Dados? Basicamente a página só precisará do acesso a Core e a SQL, colocado desta maneira <%@ taglib uri='dbsql' prefix='sql' %> <%@ taglib uri='core' prefix='c' %> Para realizar a conexão: <sql:setDataSource var="conn" driver="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost:3306/dfjug?user=root&useUnicode=true" /> Para executar uma query: <sql:query var="rSet" dataSource="${conn}"> SELECT * FROM tabela </sql:query> Para obter os dados: 1° Modo: arma-se um comando for, do seguinte modo: <c:forEach var='row' items='${rSet.rowsByIndex}'> <c:forEach var='rowData' items='${row}'> <c:out value='${rowData}'/> </c:forEach> </c:forEach> O primeiro for conta as linhas, enquanto que o segundo verifica as colunas. 2° Modo: O mesmo laço pode obter pelos nomes da coluna: <c:forEach var='row' items='${rSet.rows}'> <c:out value='${row.NomeColuna}'/> </c:forEach> 3° Modo: Também é possível pegar pelo número do campo: <c:forEach var='row' items='${rSet.rowsByIndex}'> <c:out value='${row[numColuna]}'/> </c:forEach> 4° Modo: Pegando apenas uma única linha: <c:out value='${rSet.rowsByIndex[numLinha][numColuna]}'/> C. Como são os comandos básicos? C1. Criando uma variável <c:set var="curso" value="JSP"/> C2. Mostrando a variável na página <c:out value="${curso}"/> C3. Removendo variáveis ~ 2 ~
  • 3. Tutorial 02 – JSTL em 21 mins Fernando Anselmo <c:remove var="curso"/> C4. Trilhar erros de variáveis que não existem <c:out var="${curso}" escapeXml="false"> Curso não existe </c:out> C5. Executando um if além de guardar seu resultado em uma variável <c:if test="${curso == 'JSP'}" var="teste"> São iguais </c:if> Resultado do IF: <c:out value="${teste}"/> C6. Usando um if mais complexo, é possível inclusive encadear <c:choose> <c:when test="${curso == 'JSP'}"> São iguais </c:when> <c:otherwise> São diferentes </c:otherwise> </c:choose> C7. Fazendo importações de JSPF com teste para verificar possíveis erros: <c:catch var="erro"> <c:import url="pagina.jspf"/> </c:catch> <c:if test="${not empty erro}"> Não consegui encontrar a página especificada </c:if> C8. Fazendo redireções <c:redirect url="pagina.jsp"/> C9. Obtendo parametros <c:out value='${param.nome}'/> D. Usar Variáveis definidas no scriptlet? D1. De Scriptlet para TagsStandards <% String s = "teste"; pageContext.setAttribute("nome", s); %> <c:out var="${nome}"/> D2. De TagsStandards para Scriptlet <c:set var="curso" value="JSP"/> <%=pageContext.getAttribute("curso")%> E. Usar variáveis do tipo Inteiro? <% pageContext.setAttribute("idt", new Integer(2)); %> <c:if test="${idt > 1}"> É maior que 1 ~ 3 ~
  • 4. Tutorial 02 – JSTL em 21 mins Fernando Anselmo </c:if> Pode-se usar os seguintes comparadores: ! not empty < lt > gt <= le >= ge == eq != ne F. Usar variáveis do tipo Lógico? <c:set var='liga' value='false'/> <c:set var='liga' value='${!liga}'/> <c:if test="${liga}"> Tá ligada </c:if> G. Como usar a formatação? G1. Usando o formato Brasileiro <%@ taglib uri='format' prefix='fmt' %> <fmt:setLocale value='pt_BR'/> G2. De campos numéricos <fmt:formatNumber value='121212.122' pattern='0.000' maxFractionDigits='3'/> <fmt:formatNumber value='121212.122' pattern='0.00' maxFractionDigits='2'/> G3. De campos data <jsp:useBean id="now" class="java.util.Date"/> <fmt:formatDate value='${now}'/> <fmt:formatDate value='${now}' type='both' dateStyle='full' timeStyle='full'/> Valores possíveis são: default, short, medium, long e full. H. Como usar em Beans ? H1. Construindo o Bean Os bens deverão ter métodos padrões definidos com set (entrada) e get (saída) por exemplo: package beans; public class MeuBean { private String nome; public void setNome(String newValue) { nome = newValue; } public String getMostra() { return nome; } } H2. Acessando este bean pela aplicação <jsp:useBean id='bnProjeto' class='beans.MeuBean'> <c:set target='${bnProjeto}' property='nome' value='Fernando'/> </jsp:useBean> <c:out value='${bnProjeto.mostra}'/> ~ 4 ~