Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Développement Web - JSTL
Développement Web - JSTL
Jean-Michel [email protected]
http://www.info.univ-angers.fr/pub/richer
M2 Informatique 2010-2011
1 / 44
Développement Web - JSTL
Plan
Plan
1 Introduction
2 Utilisation de la JSTL
3 Bibliographie
2 / 44
Développement Web - JSTL
Introduction
Utilisation de la JSTL
Objectifs
• comprendre le principe de JSTL
• découvrir quelques aspects de JSTL
3 / 44
Développement Web - JSTL
Introduction
Que signifie JSTL ?
Definition (JSTL)
JSP Standard Tag Library met à disposition du développeurdes balises pour accomplir la plupart des tâches qui doiventêtre réalisées avec les JSP.
En simplifié :
On remplace les balises et le code Java par du XML spécifique.
Documentation• https://jstl.dev.java.net/
• http://tomcat.apache.org/taglibs/index.html
4 / 44
https://jstl.dev.java.net/http://tomcat.apache.org/taglibs/index.html
Développement Web - JSTL
Introduction
Les versions de la JSTL
Actuellement 2 versions• JSTL 1.0 nécessite (au minimum) un conteneur JSP 1.2• JSTL 1.1 nécessite (au minimum) un conteneur JSP 2.0
pour Tomcat
• 3.x Servlet 2.2 et JSP 1.1• 4.x Servlet 2.3 and JSP 1.2• 5.5 Servlet 2.4 and JSP 2.0• 6.x Servlet 2.5 and JSP 2.1
5 / 44
Développement Web - JSTL
Introduction
Expression Language pour JSP 2.1
URL de base : http://java.sun.com
Librairie URI pr éfixecore /jsp/jstl/core c
Format /jsp/jstl/fmt fmtXML /jsp/jstl/xml xSQL /jsp/jstl/sql sql
Functions /jsp/jstl/functions fn
http://java.sun.com/products/products/jsp/jstl/1.1/docs/tlddocs/index.html
6 / 44
http://java.sun.comhttp://java.sun.com/products/products/jsp/jstl/1.1/docs/tlddocs/index.html
Développement Web - JSTL
Introduction
JSTL - Core
Core : c• Variable support : remove, set
• Flow control : choose, forEach, forTokens, if
• URL management : import, redirect, url
• Miscellaneous : catch, out
7 / 44
Développement Web - JSTL
Introduction
JSTL - XML
XML : x• Core
• Flow control
• Transformation
8 / 44
Développement Web - JSTL
Introduction
JSTL - i18n
Internationalization (i18n) : fmt
• Locale
• Message formatting
• Number and date formatting
9 / 44
Développement Web - JSTL
Introduction
JSTL - SQL et Functions
SQL : sql
• Database
Functions : fn• Collection length
• String manipulation
10 / 44
Développement Web - JSTL
Utilisation de la JSTL
Utilisation de la JSTL
Utilisation de la JSTL
11 / 44
Développement Web - JSTL
Utilisation de la JSTL
Obtenir et installer la JSTL
JSTL pour Tomcat - étape 1
• Récupérer la vesion 1.1 :http://tomcat.apache.org/taglibs/standard/
• décompresser dans /opt• inclure dans le projet (Add external jars ) les fichiers :
jstl.jar et standard.jar du répertoire lib
12 / 44
http://tomcat.apache.org/taglibs/standard/
Développement Web - JSTL
Utilisation de la JSTL
Obtenir et installer la JSTL
JSTL pour Tomcat - étape 2
• copier les fichier .jar dans le répertoire lib de Tomcatsudo cp/opt/jakarta-taglibs-standard-1.1.2/lib/*.jar/opt/apache-tomcat-6.0.26/lib/
• importer les fichier .tld de/opt/jakarta-taglibs-standard-1.1.2/tld/*dans le répertoire WEB-INF de l’application
• modifier le fichier web.xml pour ajouter des taglib
13 / 44
Développement Web - JSTL
Utilisation de la JSTL
Obtenir et installer la JSTL
JSTL pour Tomcat - étape 31 2 http://java.sun.com/jstl/fmt3 /WEB-INF/fmt.tld4 5 ....67 8 http://java.sun.com/jstl/x-rt9 /WEB-INF/x-rt.tld
10
14 / 44
Développement Web - JSTL
Utilisation de la JSTL
JSTL Core
JSTL Core
15 / 44
Développement Web - JSTL
Utilisation de la JSTL
Utiliser JSTL Core
Utiliser JSTL Core
1
16 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - set / remove
Encodage URL - Exemple 1
1 2 34 56 7
17 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - URL
Encodage URL - Exemple 1
1 2 link34 5 link6
18 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - URL
Encodage URL - Exemple 2
visualisation d’un produit enregistré dans la session :1 2 3 7 view89
10 view11
19 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - forEach
Core - forEach
permet de réaliser une itération sur les containers
20 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - forEach
parcours forEach
parcours de la liste des produits :1 2 3 ${item.label} 4 ${item.price} 5 ${item.quantity} 6 7
21 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - forEach - Attributs
Core - forEach - Attributs
permettent une gestion plus fine de la boucle :
• begin indice de début• end indice de fin• step incrément• varStatus informations sur la boucle (first, last, index,
count)
22 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - forEach - Attributs
parcours forEach - Attributs
parcours d’une liste d’entiers 1 2 int tab[]=new int[10];3 for (int i=0;i
Développement Web - JSTL
Utilisation de la JSTL
Core - forTokens
Core - forTokens
permet de décomposer une chaine de caractères en élémentsséparés par des délimiteurs comme java.util.StringTokenizer
• var variable qui reçoit chacune des valeurs• items chaine qui sera décomposée• delims liste des délimiteurs sous forme de chaine
24 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - forTokens
parcours forTokens
décomposition et affichage de la liste des codes des produits :1 2 session.setAttribute("productCodes", "12,89,783");34 5 6 ${code} 7
25 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - if
Core - if
permet de réaliser un test conditionnel
• test permet de décrire la condition
26 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - if
test conditionnel
1 2 3
lastName is set correctly to :4
5 6 7salary is set correctly to :8
9
10
27 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - choose
Core - choose
sorte de switch / if
• when permet de décrire chaque condition• otherwise correspond au default de Java
28 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - choose
test choose
1 2 3 ...4 5 6 ...7 8
29 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - import
Core - import
• permet d’importer un autre fichier qui sera inclus dans lapage courante, agit commme le #include du langage C
• permet aussi de charger un fichier et de le stocker dansune variable
30 / 44
Développement Web - JSTL
Utilisation de la JSTL
Core - import
import
1 23 45
31 / 44
Développement Web - JSTL
Utilisation de la JSTL
JSTL XML
JSTL XML
32 / 44
Développement Web - JSTL
Utilisation de la JSTL
Utiliser JSTL XML
Utiliser JSTL XML
1
33 / 44
Développement Web - JSTL
Utilisation de la JSTL
Fichier exemple
Fichier exemple
1 2 3 4 Donald5 Duck6 01-01-19707 1000.08 9
10 Picsou11 Duck12 02-01-196013 120000.014 15 16 Mickey17 Mouse18 01-01-198019 3000.2020 21
34 / 44
Développement Web - JSTL
Utilisation de la JSTL
XML - parse
parse
1 23 4 5 78 9
10 11 12
35 / 44
Développement Web - JSTL
Utilisation de la JSTL
XML - forEach
forEach
1 2 34 5 78 9
10 11
36 / 44
Développement Web - JSTL
Utilisation de la JSTL
XML - set
set
1 2 34 67
37 / 44
Développement Web - JSTL
Utilisation de la JSTL
JSTL SQL
JSTL SQL
38 / 44
Développement Web - JSTL
Utilisation de la JSTL
Utiliser JSTL SQL
Utiliser JSTL SQL
1
39 / 44
Développement Web - JSTL
Utilisation de la JSTL
Configuration de la DataSource
Configuration de la DataSource
mettre le fichier context.xml dans le répertoire META-INF1 2 3 4 1314 18
40 / 44
Développement Web - JSTL
Utilisation de la JSTL
Configuration de Tomcat
Configuration de Tomcat
mettre le Connector/J
• dans le répertoire lib de Tomcat
• dans le répertoire WEB-INF/lib du projet
41 / 44
Développement Web - JSTL
Utilisation de la JSTL
SQL - query
query
1 2 34 5 6 7 89
10 11 12 13 14 15 16
42 / 44
Développement Web - JSTL
Bibliographie
Bibliographie
Bibliographie
43 / 44
Développement Web - JSTL
Bibliographie
Bibliographie, sitographie
• Développement Web avec J2EE, O’ Reilly, Eric Sarrion,Paris, 2005, ISBN 2-35402-140-2
• Java Servlets and JSP, Joel Murach, Andrea Steelman,Murach, 2nd Edition, 2008, ISBN 9781890774448
44 / 44
PlanIntroductionUtilisation de la JSTLBibliographie