Java EE - JSP
Java EE - JSP
Java EE - JSP
Serveur
oui
jspInit()
Request
Response
jspService()
jspDestroy()
• Balise de déclaration
◦ Syntaxe :
◦ <%! Type nomVar = initialisation; %>
◦ Exemple :
◦ <%! String chaine = "azerty"; %>
◦ Exemple de bloc de déclaration :
◦ <%! String test = null;
◦ public boolean fct() { if (test==null) return true; else return false; }
◦ %>
◦ Traduction :
◦ Déclarations : placées dans la classe au moment de la traduction de la JSP en Servlet
◦ variables = attributs
• Balise d’expression :
◦ <%= " Chaine à afficher" %>
◦ Correspond à : <% out.println(" Chaine à afficher "); %>
• Directive include:
◦ <%@ include directive %>
• Directive taglib:
◦ <%@ taglib directive %>
• Syntaxe :
◦ <%@ page directive %>
• Exemple :
◦ <%@ page isThreadSafe="false" %>
◦ <%@ page contentType="text/plain; charset=UTF-8" %>
◦ <%@ page import="java.io.*, java.util.*" %>
• Syntaxe :
◦ Inclusion à la traduction en servlet (par directive)
◦ <%@ include directive %>
◦ Inclusion à l’exécution (par action standard)
◦ Sans paramètres :
◦ <jsp:include page="fichier " />
◦ Avec paramètres :
◦ <jsp:include page="fichier ">
◦ <jsp:param name="nom " value="valeur "/>
◦ ...
◦ </jsp:include>
• Syntaxe :
◦ <jsp:forward page="/nouvelle_page.jsp" />
• Syntaxe :
◦ Sans paramètres :
◦ <jsp:forward page="fichier " />
◦ Avec paramètres :
◦ <jsp:forward page="fichier " >
◦ <jsp:param name="nom " value="valeur "/>
◦ ...
◦ </jsp:forward>
• Syntaxe :
◦ <%@ taglib directive %>
• Exemple :
◦ <%@ taglib uri="maTagLib.tld" prefix="tagExemple" %>
• Équivalent à :
◦ <%
◦ nom_classe obj = (nom_classe) request.getAttribute( "nom_bean" );
◦ if ( obj== null ){
◦ obj= new nom_classe();
◦ type_porte.setAttribute( "nom_obj", obj);
◦ }
◦ %>
• Syntaxe :
◦ <jsp:getProperty name="nom_obj_bean" property="nom_propriété" />
• Équivalent à :
◦ <%= nom_obj_bean.getNom_propriété() %>
• Syntaxe :
◦ <jsp:setProperty name="nom_obj_bean" property="nom_propriété"
value="nouvelle_valeur" />
• Équivalent à :
◦ <%= nom_obj_bean.setNom_propriété ("nouvelle_valeur") ;%>
• Syntaxe :
◦ <jsp:setProperty name="nom_obj_bean" property="nom_propriété"
param="nom_parametre" />
• Équivalent à :
◦ <%= nom_obj_bean.setNom_propriété
(request.getParameter("nom_parametre")); %>
• Syntaxe :
◦ <jsp:setProperty name="nom_obj_bean" property="nom_propriété" />
• Équivalent à :
◦ <%= nom_obj_bean.setNom_propriété
(request.getParameter("nom_propriété")); %>
• Syntaxe :
◦ <jsp:setProperty name="nom_obj_bean" property="*" />
• Équivalent à :
◦ <%= nom_obj_bean.setNom_propriété1
(request.getParameter1("nom_propriété1")) ;%>
◦ <%= nom_obj_bean.setNom_propriété2
(request.getParameter2("nom_propriété2")) ;%>
◦ …
• Avantage :
◦ + simple
◦ + standard
◦ + maintenable
• Syntaxe de base :
◦ $ { expression }
• Exemple :
<jsp:setProperty name="box" property="perimeter"
value="${2*box.width+2*box.height}"/>
• Opérateur « empty » :
◦ Syntaxe :
◦ ${ empty « element à tester » }
◦ Exemple :
◦ ${ empty 'test' }
• Instruction avec EL :
◦ ${attributBean.prenom}
◦ ${attributBean.getPrenom()}
◦ Exemple :
${fn:length("Get my length")}
pageScope Map des attributs de porté page Collection permettant d'accéder aux
différents attributs d’une porté
requestScope Map des attributs de porté requête
header Map des valeurs de l’entête HTTP (String) Collection permettant d'accéder à
l’entête de la requête HTTP
headerValues Map des valeurs de l’entête HTTP (String[])