Good Sling Devs больше не используют JSP. Это просто в документации и примерах, потому что это был стандарт так долго.
В JSP,, который вы справедливо видите как преступление (или анти-паттерна), содержат две вещи:
- презентации
- бизнес-логика
Они должны быть разделены в разные файлы ,
Для презентации
Используйте "красивый", который теперь называется "HTL". Читайте на них:
красивый современный каркас на стороне сервера презентации, правильно отделяет бизнес-логику от декларации представления, точно так же, как и любой другой структуры вы знакомы с такими, как Handlebars или FreeMarker, или даже с facelets.
Верно, это не синтаксис, используемый вне рамок Sling, поэтому он не является повторно используемым знанием, но вы действительно можете узнать его полностью через час, и он элегантный и гладкий.
Вы можете использовать любую другую логику представления вы хотите, в том числе
- рули
- Groovy GSP
- Freemarker
- ThymeLeaf
НО - ни один из них не будет работать «из из коробки ". Вам нужно будет найти подходящие «скриптовые движки» и установить их самостоятельно, или написать собственный скриптинг, который позволяет использовать их в Sling. Например, популярный продукт Adobe AEM, который является Sling, поставляется с ручкой scriptengine из коробки. Если вы готовы выполнять эту работу, вам доступны все рамки презентации под солнцем.
Для бизнеса-логика
Если вы пошли с красивым (акой HTL) для презентации, вы будете использовать «использовать» API, чтобы объявить, какой сценарий или класс готовит бизнес-логику для этой презентации. Здесь у вас есть практически только два варианта «из коробки»:
- JavaScript (Примечание: на стороне сервера!)
- Java
Целью является один из этих языков, чтобы обеспечить " поддерживая bean-тип ", которая получает данные для вас и подготавливает ее к представлению вашей презентации.Для того, чтобы ваши красивых презентации, чтобы объявить, который «боб» или скрипт он использует, вы используете «использование API» здесь:
https://docs.adobe.com/docs/en/htl/docs/use-api.html
Пример:
<div data-sly-use.bean="myscript.js">${bean.valueFromJavascript}</div>
Теперь вы можете использовать МНОГО больше языков, чем это, но вам нужно написать какой-то пользовательский код, чтобы позволить Sling использовать эти альтернативные языки с помощью API-интерфейса. Например, я сейчас о, чтобы попытаться выяснить, как выставить заводной или Котлин посредством использования API, так что я могу сделать что-то вроде этого:
<div data-sly-use.bean="myscript.groovy">${bean.valueFromGroovy}</div>
Последняя версия ДВОЙ был переименована в слинг .TLD. Вот ссылки на [версия 1.3] (http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/jsp-taglib/src/main/resources/META-INF/sling.tld?revision=1494174&view = разметка) (начиная с переименования) и [ГОЛОВНОЙ] (http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/jsp-taglib/src/main/resources/META-INF/sling.tld ? view = разметка) (теперь установлено значение 1.4). –