Para usuários antigos do AEM, esse documento fornece informações sobre o HTL, sua mudança de nome (ele era anteriormente conhecido como Sightly) e como ele substitui o JSP.
O HTL (Linguagem de modelo HTML) é o sistema de modelo do lado do servidor preferencial e recomendado para HTML no Adobe Experience Manager. Substitui as páginas JSP (JavaServer Pages), conforme usadas em versões anteriores do AEM.
Recomenda-se que novos projetos AEM usem a Linguagem de modelo HTML, pois ela oferece vários benefícios em comparação ao JSP. No entanto, para projetos existentes, a migração só faz sentido se for estimado que o esforço será menor do que manter os JSPs existentes para os próximos anos.
Mas mudar para HTL não é, necessariamente, uma opção radical, pois os componentes gravados em HTL são compatíveis com componentes gravados em JSP ou ESP. Isso significa que os projetos existentes podem usar HTL para novos componentes, mantendo o JSP para os componentes existentes.
Inclusive no mesmo componente, os arquivos HTL podem ser usados junto a JSPs e ESPs. O exemplo a seguir mostra, na linha 1, como incluir um arquivo HTL de um arquivo JSP; e na linha 2, como um arquivo JSP pode ser incluído de um arquivo HTL:
<cq:include script="template.html"/>
<sly data-sly-include="template.jsp"/>
Essas são algumas perguntas frequentes feitas por desenvolvedores experientes no AEM, mas novos no HTL.
Na verdade, o HTL não tem limitações em comparação com o JSP. O que pode ser feito com o JSP também deve ser realizável com o HTL. No entanto, por design, o HTL é mais rigoroso que o JSP em vários aspectos. O que é possível obter com um único arquivo JSP pode precisar ser separado em uma classe Java ou em um arquivo JavaScript para ser realizável no HTL. Mas isso é geralmente recomendado para garantir uma boa separação de interesses entre a lógica e a marcação.
Não, mas conforme mostrado na seção Carregamento de bibliotecas de clientes do documento de introdução, as declarações de modelo e chamada oferecem um padrão semelhante.
Não podem. O HTL tem mecanismos de extensão poderosos para reutilização de lógica (a API de uso) e de marcação (as declarações de modelo e chamada), que podem ser usados para modular o código dos projetos.
A segurança e a eficiência dos projetos são os principais benefícios, detalhados na Visão geral.
Não existem planos para isso.
No AEM 6.0 e 6.1, o HTL era chamado de Sightly. A Adobe o renomeou para Linguagem de modelo HTML ou HTL para esclarecer a sua especificação e alinhar-se às diretrizes gerais de nomenclatura da Adobe. Essa alteração de nome entrou em vigor em agosto de 2016 e se aplica à versão AEM 6.0 e posteriores.
Essa alteração não afeta o código ou a API, portanto, a compatibilidade não foi afetada. Para obter mais informações, assista este comunicado em vídeo.
Para saber mais sobre o HTL, um ótimo local para começar é em nosso Guia de introdução à Linguagem de Modelo HTML (HTL).