JSP - Enseeiht
Transcription
JSP - Enseeiht
Application web : vues utilisateurs Composants d’une JSP Application Web et J2EE JSP Pierre Gambarotto <[email protected]> Département Informatique et Math appli ENSEEIHT Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Plan 1 Application web : vues utilisateurs Principe J2EE et vues JSP :Principe et cycle de vie 2 Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Principe J2EE et vues JSP :Principe et cycle de vie Plan 1 Application web : vues utilisateurs Principe J2EE et vues JSP :Principe et cycle de vie 2 Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Pierre Gambarotto <[email protected]> Appli Web et J2EE Principe J2EE et vues JSP :Principe et cycle de vie Application web : vues utilisateurs Composants d’une JSP MVC et application Web : une première approche 4 action 3 résultat couche métier 2 7 5 Contrôleur 8 1 vue HTML Pierre Gambarotto <[email protected]> générateur vue 6 vue HTML Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Principe J2EE et vues JSP :Principe et cycle de vie Plan 1 Application web : vues utilisateurs Principe J2EE et vues JSP :Principe et cycle de vie 2 Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Principe J2EE et vues JSP :Principe et cycle de vie HTML : Servlet ou JSP ? Servlet produisant une vue : verbeux (out.println ...) JSP : html et tags dynamiques : plus adapté 1 2 3 4 5 <html> <body> Au 4e top , i l sera exactement <%= new j a v a . u t i l . Date ( ) %> < / html> Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Principe J2EE et vues JSP :Principe et cycle de vie Plan 1 Application web : vues utilisateurs Principe J2EE et vues JSP :Principe et cycle de vie 2 Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Principe J2EE et vues JSP :Principe et cycle de vie compilateur de JSP : de JSP à JSP Servlet compilateur java : de Servlet à Bytecode Document texte Document texte Bytecode Java JSP JAVA CLASS Servlet Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Plan 1 Application web : vues utilisateurs Principe J2EE et vues JSP :Principe et cycle de vie 2 Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Produire du html le html de la JSP est transformé en instruction JAVA utilisant println dans la JSP Servlet. Une version JSP pour html, une pour XML <%@ page contentType="text/html"%> <%@ page pageEncoding="UTF-8" %> Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Plan 1 Application web : vues utilisateurs Principe J2EE et vues JSP :Principe et cycle de vie 2 Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Contrôle de la compilation et de l’exécution de la JSP Gestion des erreurs : <%@ page errorPage="fichier" %> JSP page erreur : <%@ page isErrorPage="true" %> Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Plan 1 Application web : vues utilisateurs Principe J2EE et vues JSP :Principe et cycle de vie 2 Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Mettre du Java dans du HTML mauvaise idée : mélange des métiers, mauvaise maintenabilité les éléments de scripts Java sont repris à l’identique dans la Servlet générée Déclaration : <%! declaration java %> Evalutation d’expressions : <%= expression java %> Code Java : <% code %> Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Exemple 1 2 3 4 5 6 7 8 9 10 11 <html> <body> <% i n t [ ] t a b =new i n t [ ] { 4 , 8 , 3 , 4 , 9 , 6 , 3 } ; % > <% f o r ( i n t i =0; i <7; i ++) { %> l a v a l e u r de l a case <%= i +1%> e s t <%= t a b [ i ]%> < / br> <% }%> < / body> < / html> Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Plan 1 Application web : vues utilisateurs Principe J2EE et vues JSP :Principe et cycle de vie 2 Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie ${...} évaluation en chaînes de caractères activation : <%@ page isELIgnored ="false" %> évaluation d’expressions : ${2+3} évaluaton de variables : cherche la variable dans le contexte de la page, i.e. dans les objets page, request, session, servletContext dans cet ordre. Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Objets implicites pageContext contexte de la page. Permet d’accéder à servletContext contexte de la Servlet associée session request response param paramValues associe un nom de paramètre à sa valeur header headerValues objets scope : pageScope,requestScope, sessionScope, applicationScope Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Plan 1 Application web : vues utilisateurs Principe J2EE et vues JSP :Principe et cycle de vie 2 Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Java Bean : conteneur de propriétés JavaBean : Objet Java stockant des propriétés propriétés : différent des variables de la classe. classe publique, constructeur sans argument public Propriété X : méthodes publiques getX() et setX(). introspection Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie <jsp:useBean id="beanName" class="fully_qualified_classname" scope="scope"/> <jsp:useBean id="beanName" class="fully_qualified_classname" scope="scope"> <jsp:setProperty .../> </jsp:useBean> jsp:useBean crée le bean s’il n’existe pas déja. scope : application (contexte),session, request, page Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie <jsp:getProperty name="beanInstanceName" property="p ${scope.beanInstanceName.propertyName} <jsp:setProperty name="beanInstanceName" property="*" | property="propertyName" [ param="parameterName" ] | property="propertyName" value="{stringLiteral| <%= expression %>}" /> Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Plan 1 Application web : vues utilisateurs Principe J2EE et vues JSP :Principe et cycle de vie 2 Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie <%@ include file="filename" %> : inclut le contenu d’un <jsp:include page="PageIncluse" /> : utilise dans la Servlet générée la méthode include d’un RequestDispatcher <jsp:forward page="Page2forward" /> : idem mais forward. Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Plan 1 Application web : vues utilisateurs Principe J2EE et vues JSP :Principe et cycle de vie 2 Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie Pierre Gambarotto <[email protected]> Appli Web et J2EE Application web : vues utilisateurs Composants d’une JSP Contenu statique Directives de configuration Script JAVA Langage d’expression Bean et utilisation dans une JSP JSP et utilisation d’autres ressources Tags et librairie créer et utiliser de nouvelles balises Déclaration d’une librairie de tag : <%@ taglib prefix="u" [tagdir=/WEB-INF/tags/dir | uri=URI ] %> Utilisation : <prefix:tag attr1="value" ... attrN="value" /> <prefix:tag attr1="value" ... attrN="value" > ... </prefix:tag> Pierre Gambarotto <[email protected]> Appli Web et J2EE