Les expressions EL vont permettre d'éviter, voire de limiter, l'utilisation de code JAVA dans Jakarta EE (scriptlet). Ceci est particulièrement intéressant pour les dernières versions du JDK qui ne permettent plus de facilement importer des classes (beans) dans les jsp.
Syntaxe générale : ${ expression }
Tous les opérateurs sont possibles : + - * / % && || > < == etc
La servlet peut avoir mis un objet en attribut, dans ce cas, au niveau de la jsp, on peut le récupérer pour l'afficher :
Il n'y a pas besoin de faire d'importation spécifique, ni de transtypage.
Note: Pour plus d'informations sur Expression Langage : https://docs.oracle.com/javaee/6/tutorial/doc/gjddd.html
JSTL va nous permettre, grâce à des balises, de réaliser les principales actions nécessaires dans la couche de présentation. JSTL prend en charge les tâches structurelles courantes telles que l’itération et les conditions, les balises pour la manipulation de documents XML, ainsi que les balises SQL.
Note: JSTL nécessite l’import de la librairie :
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
avec scriptlet, sans JSTL | avec JSTL | |
---|---|---|
<br><% if(request.getParameter(“pseudo”) != null) { %><br> Bonjour <%= request.getParameter(“pseudo”) %><br><% } %><br> | <br><c:if test=“${not empty param.pseudo}”><br> Bonjour ${param.pseudo}<br></c:if><br> |
avec scriptlet, sans JSTL | avec JSTL | |
---|---|---|
<br><% for(String nom : (List<String>) request.getAttribute(“liste”)) { %><br> <li><%= nom %></li><br><% } %><br> | <br><c:forEach var=“nom” items=“${liste}”><br> <li>${nom}</li><br></c:forEach><br> |
A Savoir: Combiner EL, JSPF et JSTL permet d'avoir de bonnes pratiques :