Introduction
JSP Standard Template Library (JSTL) est un nouveau composant développé pour JSP publié par SUN. JSTL vous permet de développer des pages JSP en utilisant des balises au lieu du code de scriptlet auquel la plupart des programmeurs JSP sont habitués. JSTL peut faire presque tout ce que le code de scriptlet JSP traditionnel peut faire. Vous vous demandez peut-être pourquoi avons-nous besoin d’un autre langage de génération HTML de ce type ?
STL permet aux programmeurs JSP de programmer en utilisant des balises au lieu du code JAVA. Pour montrer pourquoi cela est supérieur, un exemple sera donné ci-dessous. Nous allons examiner une page JSP très simple qui compte de 1 à 10. Nous allons vérifier deux méthodes, l'une est basée sur le scriptlet JSP et l'autre est JSTL. Lorsque cet exemple de page de compteur est écrit à l'aide d'un scriptlet JSP, la page JSP ressemble à ceci :
<html>
<tête>
<title>Comptez jusqu'à 10 dans le scriptlet JSP</title>
</tête>
<corps>
<%
pour(int i=1;i<=10;i++)
{%>
<%=i%><br/>
<%
}
%>
</corps>
</html>
Comme vous pouvez le voir dans l'exemple ci-dessus, le code source de la page généré à l'aide du code scriptlet contiendra un mélange de balises HTML et d'instructions JAVA. Cette approche de programmation hybride n'est pas la meilleure approche pour les raisons suivantes.
La principale raison est sa lisibilité. Cette lisibilité dépend principalement des humains et des ordinateurs. JSTL permet aux programmeurs d'afficher une page contenant uniquement des balises HTML et de type HTML complètes.
Le code du scriptlet SP n'est pas lisible pour les humains. Ce mélange de scriptlets et de code HTML est également difficile à lire pour les ordinateurs. Surtout pour les outils HTML officiels tels que Dreamweaver et Microsoft FrontPage, le manque d'intuitivité est encore plus évident. Actuellement, la plupart des outils HTML officiels isolent le code du scriptlet JSP sous la forme de blocs non modifiables. Ce type d'outil HTML officiel ne peut généralement pas modifier directement le code du scriptlet JSP.
Le code suivant montre comment cet exemple de compteur peut être écrit à l'aide de JSTL. Comme vous pouvez le voir, cette liste de codes est immuable, une seule balise est utilisée. Les balises HTML et JSTL sont mélangées pour produire ce programme.
<%@ taglib uri=" http://java.sun.com/jstl/core " prefix="c" %>
<html>
<tête>
<title>Exemple de comptage jusqu'à 10 (en utilisant JSTL)</title>
</tête>
<corps>
<c:forEach var="i" start="1" end="10" step="1">
<c:out value="${i}" />
<br />
</c:forEach>
</corps>
</html>
Lorsque vous examinez le code de l'exemple ci-dessus, vous verrez que la page JSP ne contient que des balises. Le code ci-dessus utilise des balises HTML telles que <head> et <br>. Cette utilisation de balises ne se limite pas aux balises HTML. Ce code peut également utiliser des balises JSTL telles que <c:forEach> et <c:out>. Dans cet article, quelques bases de JSTL seront présentées.
Installer JSTL
Pour utiliser JSTL, vous devez avoir installé un conteneur JSP 1.2 (ou supérieur). Le conteneur JSP le plus courant est Apache Tomcat. Vous pouvez le télécharger depuis http://jakarta.apache.org/tomcat/ . Tomcat autonome vous permet d'utiliser du code de scriptlet JSP standard. Pour utiliser JSTL, vous devez installer JSTL dans Tomcat. L'URL principale de JSTL est http://java.sun.com/products/jsp/jstl/ . Pour utiliser JSTL, vous devez décompresser ce fichier et l'installer au bon emplacement pour Tomcat.
Pour installer JSTL dans Tomcat, il y a trois étapes :
Copiez le fichier JSTL JAR dans le répertoire lib de Tomcat.
Si vous utilisez Windows, l'emplacement le plus probable du répertoire lib est C:Program FilesApache Tomcat 4.0webapps ROOT. WEB-INFlib. Vous devez copier ces packages JAR dans votre répertoire JAR Tomcat.
Copiez les fichiers JSTL TLD dans le répertoire web-inf de Tomcat
Lorsque vous examinez les fichiers de distribution JSTL, vous devriez remarquer que 8 fichiers se terminent par l'extension TLD. Les 8 fichiers doivent être copiés dans votre répertoire web-inf.
Modifiez le fichier web.xml pour inclure ces fichiers TLD.
Enfin, vous devez modifier votre web.xml et ajouter 8 entrées de bibliothèque de balises. Les éléments du tableau qui doivent être ajoutés sont les suivants :
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri>
<taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri>
<taglib-location>/WEB-INF/c-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
<emplacement-taglib>/WEB-INF/sql.tld</emplacement-taglib>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri>
<taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/x</taglib-uri>
<taglib-location>/WEB-INF/x.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri>
<taglib-location>/WEB-INF/x-rt.tld</taglib-location>
</taglib>
Après avoir terminé les trois étapes ci-dessus, vous êtes maintenant prêt à tester votre installation JSTL. Cela peut être vérifié en créant une page JSP contenant JSTL. L'un des exemples de programme les plus simples est le programme de compteur ci-dessus. Vous devez le placer dans votre répertoire racine Web (C:Program FilesApache Tomcat 5.0webappsROOT). Une fois Tomcat démarré, vous devriez pouvoir afficher cette page en accédant à http://127.0.0.1:8080/count.jsp .
Si vous n'avez pas installé JSTL correctement, le message d'erreur peut ne pas apparaître. Si JSTL ne peut pas interpréter la signification de vos balises, elle sera ignorée par le navigateur Web. Le navigateur Web interprétera alors ces balises HTML inconnues. La plupart des navigateurs ignorent simplement ces balises HTML inconnues.
A suivre...
Traduit par Caiyi0903 (Volonté), 2004.2.19