AFAIK это разные понятия и работают по-разному, так что они не будут напрямую взаимодействовать:
JSP обрабатывается компилятором JSP для генерации кода Java для сервлета, который компилируется (во время выполнения) в файле .class. Он позже используется контейнером сервлетов как любой другой сервлет. Вы можете включить любой код Java в JSP с скриптлетами (даже если она в настоящее время рассматриваются как плохая практика)
шаблонных движков (Velocity/Freemaker/Thymeleaf) принять шаблон и только позволяет заменить переменные заполнители со значениями во время выполнения для создания текста. Конечно, они также позволяют проводить тесты и циклы, но никакой источник java и объект класса никогда не генерируются. В веб-приложении они используют один единственный сервлет, который принимает шаблон и заменяемые значения и генерирует текст, который будет отправлен в ответ.
Но, конечно же, как JSP может содержать произвольный код Java, можно назвать двигатель шаблона из JSP, но я действительно не могу себе представить надлежащее использование случай.
Редактировать на комментарий:
Вы можете попробовать использовать JSP в качестве шаблона двигателя, но мой совет: не делают этого! Вам потребуется:
- создать заглушки, реализующие
ServletResponse
где getOutputStream()
и getWriter()
методы конца в виде строки.
- вынуждает ServletContainer генерировать источник java и файл класса - или это можно сделать во время компиляции (я не знаю, как это сделать, но я уверен, что это можно сделать)
- во время выполнения включают сгенерированный сервлет с заглушкой ответа для генерации выходной строки.
Но будьте осторожны, даже если вам это удастся, это приведет к едва поддерживаемому коду, сильно связанному с контейнером сервлетов, или с помощью специальных шагов (JSP -> java) во время сборки. Как уже говорилось: не делайте этого.
Я только что пришел к JSP compilation to string or in memory bytearray with Tomcat/Websphere, похоже, ваш вопрос является дубликатом, что один ...
возможно дубликат [JSP компиляции в строке или в ByteArray памяти с Tomcat/Websphere] (HTTP: // stackoverflow.com/questions/1189094/jsp-compilation-to-string-or-in-memory-bytearray-with-tomcat-websphere) –