Dernière modification : 23/08/2022

JSP (JavaServer Pages) / JSTL (JavaServer Pages Standard Tag Library) - Mémo

Dans cet article nous allons aborder les pages JSP (JavaServer Pages) et JSTL (JavaServer Pages Standard Tag Library) avec Java.

JSP (JavaServer Pages)

1. Eléments de script

1.1 Les déclarations

<%!
  private int maVar;

  private int air(int cote) {
    return cote * cote;
  }
%>

 

1.2 Les expressions

Date : <%=new java.util.Date() %>

 

1.3 Les scriplets

<%
  int maVar = 10;
  for (int i = 0; i < 10; i++) {
    maVar += i;
  }
%>

 

1.4 Les commentaires

<%-- Commentaire --%>

 

1.5 Les objets implicites

  • request : requête courante (HttpServletRequest)
  • response : réponse courante (HttpServletResponse)
  • out : flot de sortie permettant l’écriture sur la réponse
  • session : session courante (HttpSession)
  • application : espace de données partagées entre toutes les JSP (ServletContext)
  • page : instance de servlet associée à la JSP courante (this)

 

2. Les directives

2.1 Les directives "page"

<%@ page import="java.io.*" %>

<%@ page contentType="text/html" %>

<%@ page isThreadSafe="false" %>

<%@ page errorPage="err.jsp"%>

<%@ page isErrorPage="true" %>

 

2.2 Les directives "include"

<%@ include file="Fichier.jsp/html"%>

 
3. Eléments d’actions

3.1 <jsp :include ... /> et <jsp :param ... />

<jsp:include page="fichier.jsp" flush="true">
  <jsp:param name="couleur" value="rouge"/>
</jsp:include>

 

3.2 <jsp :forward ... />

<jsp:forward page="newjsp.jsp">
  <jsp:param name="var1" value="value" ></jsp:param>
</jsp:forward>

 

3.3 <jsp:useBean ... /> <jsp:getProperty ... /><jsp:setProperty ... />

<jsp:useBean id="personne" scope="session" class="test.Personne" >
  <jsp:setProperty name="personne" property="nom" value="mon nom" />
</jsp:useBean>

Nom mise à jour = <jsp:getProperty name="personne" property="nom" />

 

Pour plus d'information :

 

JSTL (JavaServer Pages Standard Tag Library)

4. Utilisation de JSTL

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>

 

5. Balises usuelles

<c:out value="${valeur}"/>

<c:set var="nom" scope="session" value="${10+2}"/>

<c:if test="${param.select == 'choix1'}"> ... </c:if>

<c:forEach items="${valeurs}" var="valeur"> ... </c:forEach>

<c:forEach begin="1" end="4" var="i">
  <c:out value="${i}"/><br>
</c:forEach>

<c:forEach begin="1" end="12" var="i" step="3">
  <c:out value="${i}"/><br>
</c:forEach>

<c:remove var="nom" scope="session" >

<c:choose>
  <c:when test="expression"> ... </c:when>
  <c:otherwise> ... </c:otherwise>
</c:choose>

<c:set var="valeur" value="abc" />
<c:catch var="erreur">
   <fmt:parseNumber var="valeurInt" value="${valeur}"/>
</c:catch>
<c:if test="${not empty erreur}">
  La valeur n'est pas numerique
  <c:out value="${erreur.message}"/>
</c:if>

 

6. Utilisation des javaBeans

<jsp:useBean id= "personne" class= "myBeans.Personne" />
<c:out value="${personne.nom} "/>

<c:set target="personne" var="nom" scope="session" value="Alex"/>  

<c:forEach items="${personne.roles}" var="role">  
  <c:out value="${role.nom} "/>
</c:forEach>

 

Pour plus d'information :

 

LauLem.com - Conditions Générales d'Utilisation - Informations Légales - Charte relative aux cookies - Charte sur la protection des données personnelles - A propos