Historique de HTL history-of-htl
Pour les utilisateurs de longue date d’AEM, ce document fournit l’arrière-plan de HTL, comment il remplace JSP et le changement de nom de Sightly.
Anciennement appelé Sightly sightly
Le langage HTL (HTML Template Language) est le système de modèles côté serveur préféré et recommandé pour le HTML dans Adobe Experience Manager. Il remplace JSP (JavaServer Pages) qui était utilisé dans les versions précédentes d’AEM.
HTL par rapport à JSP htl-over-jsp
Adobe recommande d’utiliser le langage de modèle d’HTML pour les nouveaux projets AEM. La raison en est qu’il offre plusieurs avantages par rapport à JSP. Toutefois, pour les projets existants, une migration n’a de sens que si vous estimez qu’elle nécessite moins d’effort que la maintenance du JSP existant pour les années à venir.
Le passage à HTL n’est pas nécessairement un choix de type "tout ou rien", car les composants écrits en HTL sont compatibles avec les composants écrits en JSP ou ESP. Cette approche signifie que les projets existants peuvent utiliser HTL pour de nouveaux composants sans problème, tout en conservant JSP pour les composants existants.
Même au sein d’un même composant, des fichiers HTL peuvent être utilisés en même temps que des fichiers JSP et ESP. L’exemple suivant montre sur la ligne 1 comment inclure un fichier HTL à partir d’un fichier JSP et sur la ligne 2 comment un fichier JSP peut être inclus à partir d’un fichier HTL :
<cq:include script="template.html"/>
<sly data-sly-include="template.jsp"/>
Questions fréquentes frequently-asked-questions
Les développeurs AEM expérimentés qui découvrent HTL posent généralement les questions suivantes :
HTL est-il plus limité que JSP ? limitations
HTL n’a pas de limites par rapport à JSP dans la mesure où ce qui peut être réalisé avec JSP doit également être faisable avec HTL. Cependant, HTL est par conception plus stricte que JSP sur plusieurs aspects. Pour qu’il soit possible d’obtenir ce qui peut être obtenu dans un seul fichier JSP, il faut peut-être le séparer dans une classe Java ou un fichier JavaScript pour pouvoir l’obtenir dans HTL. Mais cette approche est généralement souhaitée pour garantir une bonne séparation des préoccupations entre la logique et l’annotation.
HTL prend-il en charge les bibliothèques de balises JSP ? tag-libraries
Nombre Cependant, comme illustré dans la section Chargement des bibliothèques clientes du document Prise en main, les instructions template & call offrent un modèle similaire.
Les fonctionnalités HTL peuvent-elles être élargies pour un projet AEM ? extended
Nombre Le HTL dispose de puissants mécanismes d’extension pour la réutilisation de la logique (le Use-API) et du balisage (les instructions de modèles et d’appels), pouvant être utilisés pour modulariser le code de projets.
Quels sont les principaux avantages de HTL par rapport à JSP ? benefits
La sécurité et l’efficacité des projets sont les principaux avantages, détaillés dans la Présentation.
Les pages JavaServer (JSP) disparaissent-elles ? go-away
Nombre Il n’est pas prévu d’interrompre JSP.
Que contient un nom ? what-is-in-a-name
Dans AEM 6.0 et 6.1, HTL était appelé Sightly. Adobe l’a renommé HTML Template Language ou HTL pour clarifier la spécification et s’aligner sur les directives d’attribution de noms d’Adobe en général. Ce changement de nom est entré en vigueur en août 2016 et s’applique à AEM version 6.0 et ultérieure.
Pour en savoir plus sur HTL, consultez le Guide de prise en main du langage de modèle d’HTML (HTL).