44
eveloppement Web - JSTL eveloppement Web - JSTL Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer M2 Informatique 2010-2011 1 / 44

Developpement Web - JSTL´ · 2010. 11. 18. · Developpement Web - JSTL´ Bibliographie Bibliographie, sitographie • Developpement Web avec J2EE, O’ Reilly, Eric Sarrion,´ Paris,

  • Upload
    others

  • View
    5

  • 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 7

    salary 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