La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Chapitre 3 Les bibliothèques de balises JSP et la JSTL.

Présentations similaires


Présentation au sujet: "Chapitre 3 Les bibliothèques de balises JSP et la JSTL."— Transcription de la présentation:

1 Chapitre 3 Les bibliothèques de balises JSP et la JSTL

2 Taglibs et JSTL 2 M.Romdhani, INSAT, Mars 2009 Sommaire Les bibliothèques de balises JSP La JSTL (Java Standard Tag Library)

3 Taglibs et JSTL 3 M.Romdhani, INSAT, Mars 2009 Les bibliothèques de balises JSP

4 Taglibs et JSTL 4 M.Romdhani, INSAT, Mars 2009 Les bibliothèques de balises Les bibliothèques de balises personnalisables (custom tags Encapsulent des fonctions complexes à utiliser dans les JSPs Utilisées pour la création d'un contenu dynamique Ce sont des classes qui implémentent l'interface Tag du Pacakge javax.servlet.jsp.tagext

5 Taglibs et JSTL 5 M.Romdhani, INSAT, Mars 2009 Fig JSP 1 2 4 5 6 7 8<%--taglibdirective--%> ="advjhtp1"%> 10 11 Simple Custom Tag Example The following text demonstrates a custom tag: Use taglib directive to include use tags in tag library Use taglib directive to include use tags in tag library Use custom tag welcome to insert text in the JSP Use custom tag welcome to insert text in the JSP

6 Taglibs et JSTL 6 M.Romdhani, INSAT, Mars 2009

7 Taglibs et JSTL 7 M.Romdhani, INSAT, Mars 2009

8 Taglibs et JSTL 8 M.Romdhani, INSAT, Mars 2009 La JSTL ( JSP Standard Tag Library ) et le langage EL

9 Taglibs et JSTL 9 M.Romdhani, INSAT, Mars 2009 Mais qu'est ce qui ne va pas dans les tags JSP ? The tag-extension protocol is too complicated Tag handler doStartTag()doEndTag() doCatch()doFinally() doInitBody() doAfterBody() release() Too hard for Gosling, even?

10 Taglibs et JSTL 10 M.Romdhani, INSAT, Mars 2009 Organisation JSP/JSTL Your application Java language Java Servlet API JavaServer Pages (JSP) JSTL Your web pages

11 Taglibs et JSTL 11 M.Romdhani, INSAT, Mars 2009 JSTL Depuis la version JSP 1.2 Spécification développé par le groupe dexperts JSR 52 Collection de Tag Librairies personnalisées qui implémentent la plus part des fonctions communes aux pages web: Itérations et conditions (core) Formatage des données (format) Manipulation de XML (xml) Accès au bases de données (sql) Utilisation du langage EL (Expression Language) Avantages Code simple, lisible et facile à maintenir Le concepteur de page est libéré de code Java Évite au développeur décrire à chaque fois les fonctions de bases.

12 Taglibs et JSTL 12 M.Romdhani, INSAT, Mars 2009 Spécification de EL sous lautorité du groupe dexpert JSR-152 pour JSP 1.3 Le JSR-52 et JSR-152 travail ensemble sur la spécification de lExpression Language En JSTL il est utilisé uniquement dans la valeur dun attribut: Il est invoqué exclusivement via la syntaxe ${ expr } EL: Expression Language

13 Taglibs et JSTL 13 M.Romdhani, INSAT, Mars 2009 Un identificateur dans EL fait référence à une variable retourné par lappel de pageContext.findAttribute(identificateur) et qui est dans la portée (scope): page, request, session ou application. ${ var } = pageContext.getAttribute("var") Objets implicites: pageScope, requestScope, sessionScope, applicationScope Accès au paramètres dune requête HTTP via param (objet de type Map) et paramValue Un objet implicite pageContext qui donne accès aux propriétés associés au contexte de la page JSP EL: Expression Language objets pr é d é finies

14 Taglibs et JSTL 14 M.Romdhani, INSAT, Mars 2009 In ${param.name}, param is one of a set of implicit objects defined in the JSP expression language Others include: pageContext.servletContext pageContext.session pageContext.request pageContext.response paramValues header headerValues EL: Expression Language objets prédéfinies

15 Taglibs et JSTL 15 M.Romdhani, INSAT, Mars 2009 Fonctions de base Affichage Affectation Exception java.lang.Throwable actions a surveiller <% try{ actions à surveiller }catch(Throwable varName){} %> JSTL core tag library

16 Taglibs et JSTL 16 M.Romdhani, INSAT, Mars 2009 Les conditions 1- simple if(cond) 2-choix multiple if/else JSTL core tag library Pas de visite! visiteurs.

17 Taglibs et JSTL 17 M.Romdhani, INSAT, Mars 2009 Les itérations avec la boucle for/while en JSP JSTL core tag library <% Member user = null; Collection users = session.getAttribute("members"); Iterator it = users.iterator(); while(it.hasNext()){ user = (Member) it.next(); %> en JSTL forEach

18 Taglibs et JSTL 18 M.Romdhani, INSAT, Mars 2009 <% Enumeration names=request.getParameterNames(); while (names.hasMoreElements()) { String pname=(String)names.nextElement(); %> : <% String[] values=request.getParameterValues(pname); for (int n=0; n <%} } %> Exemple : Code JSP

19 Taglibs et JSTL 19 M.Romdhani, INSAT, Mars 2009 : The tags are from the JSTL The ${} elements are expression language evaluations Exemple : Code é quivalent avec JSTL EL


Télécharger ppt "Chapitre 3 Les bibliothèques de balises JSP et la JSTL."

Présentations similaires


Annonces Google