StringTemplate удалить ‹ › как разделители

Я пытаюсь использовать StringTemplate в веб-приложении java для создания электронных писем в формате html. При попытке ввести разрывы строк я использую \<br\> Похоже, это не работает. \<b\> тоже не работает. Есть ли способ отключить ‹ и > в качестве разделителей, чтобы я мог проверить, не в этом ли проблема? Во всей документации StringTemplate сказано использовать $...$ в качестве разделителей, но не сказано, как не использовать ‹...>


person Lumpy    schedule 13.12.2011    source источник


Ответы (3)


При создании группы вы можете установить разделители, используя

STGroup group = new STGroupDir("emails", '$','$');

Где «$» и «$» — ваши разделители.

person Lumpy    schedule 13.12.2011
comment
Я все еще продолжаю получать invalid character '<'. Вы уверены, что это действительно отключает < в качестве разделителя? - person Elias Dorneles; 21.06.2012
comment
См. ответ Дэна ниже. Вместо этого используйте STRawGroupDir, если у вас нет заголовков ST в файлах st. - person matof; 12.08.2016

Хотя Лампи определенно ответил на вопрос правильно, он не решил мою проблему, поэтому я решил добавить сюда свое решение для будущих читателей.

Даже если вы создадите файл x.st в STGroupDir, который вы хотите загрузить в программу и обработать в какой-то момент, вам придется определить синтаксис внутри этого файла (точно так же, как и внутри STGroupFile) следующим образом:

x(variables, go, here) ::= "this uses $variables$ such as $go$ and $here$"

Обратите внимание, что синтаксис должен иметь то же имя, что и файл (без расширения .st, конечно).

Это неудобно, если в ваших шаблонах много кавычек, или если вы не хотите включать объявление шаблона в начало файла, или если вы хотите иметь очень длинный шаблон. В этих случаях вы должны использовать STRawGroupDir. Недостатком является то, что в верхней части файла шаблона нет центрального места с именами всех переменных, которые должны быть переданы.

person Dan    schedule 05.03.2013

В верхней части файла группы шаблонов (.stg) вы можете разместить:

delimiters "$", "$"

... или любые разделители, которые вы хотели бы. Дополнительная информация находится по адресу: https://theantlrguy.atlassian.net/wiki/display/ST4/Group+file+syntax

person timseal    schedule 16.10.2012