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

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

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

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 20 июня 2012

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

new ST ("Hello« prop »", '«', '»') .add ("prop", "xxxxxx"). Render ()

2 голосов
/ 27 ноября 2011

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

...