Могу ли я использовать разделители строк в StringTemplate? Если нет, что такое хороший шаблонный движок?

Мне нужен простой шаблонизатор, который выполняет только замену имен переменных (мне не нужны другие функции), и его можно настроить на использование разделителей, которые являются строками, а не символами. Например

new Template("Hello {{topic}}")
  .add("topic", "world")
  .render()

Должен вернуть "Hello world" (код java может измениться, меня больше интересует синтаксис шаблона)

Причина, по которой мне нужны многосимвольные разделители, заключается в том, что у меня есть несколько шаблонов, которые могут содержать всевозможные символы, и я хочу убедиться, что родные языки шаблонных документов (html, css, js) не конфликтуют с механизмом шаблонов.,

Прочитав этот пост, я попытался использовать StringTemplate, но я не уверен, поддерживает ли он разделители длиной более одного символа (Конструктор на ST кажется, принимает символьные разделители вместо строк).

Поддерживает ли StringTemplates многосимвольные разделители? Если нет, какие-нибудь рекомендации другого простого механизма шаблонов, который работает с синтаксисом шаблона, который я описал выше?

2 ответа

Решение

Я думаю, что Velocity от Apache - лучший шаблонизатор. Мы используем его для многих вещей: генерация динамического HTML (вместо JSP), генерация XML вместо XSLT и т. Д.

Вы можете использовать символ Unicode, который не используется в ваших шаблонах.

новый ST("Привет" prop "", "" ', ' "').add("prop", "xxxxxx").render()

Другие вопросы по тегам