Я пытаюсь использовать StringTemplate в веб-приложении java для создания электронных писем в формате html. При попытке ввести разрывы строк я использую \<br\>
Похоже, это не работает. \<b\>
тоже не работает. Есть ли способ отключить ‹ и > в качестве разделителей, чтобы я мог проверить, не в этом ли проблема? Во всей документации StringTemplate сказано использовать $...$ в качестве разделителей, но не сказано, как не использовать ‹...>
StringTemplate удалить ‹ › как разделители
Ответы (3)
При создании группы вы можете установить разделители, используя
STGroup group = new STGroupDir("emails", '$','$');
Где «$» и «$» — ваши разделители.
invalid character '<'
. Вы уверены, что это действительно отключает <
в качестве разделителя?
- person Elias Dorneles; 21.06.2012
Хотя Лампи определенно ответил на вопрос правильно, он не решил мою проблему, поэтому я решил добавить сюда свое решение для будущих читателей.
Даже если вы создадите файл x.st
в STGroupDir
, который вы хотите загрузить в программу и обработать в какой-то момент, вам придется определить синтаксис внутри этого файла (точно так же, как и внутри STGroupFile
) следующим образом:
x(variables, go, here) ::= "this uses $variables$ such as $go$ and $here$"
Обратите внимание, что синтаксис должен иметь то же имя, что и файл (без расширения .st
, конечно).
Это неудобно, если в ваших шаблонах много кавычек, или если вы не хотите включать объявление шаблона в начало файла, или если вы хотите иметь очень длинный шаблон. В этих случаях вы должны использовать STRawGroupDir
. Недостатком является то, что в верхней части файла шаблона нет центрального места с именами всех переменных, которые должны быть переданы.
В верхней части файла группы шаблонов (.stg) вы можете разместить:
delimiters "$", "$"
... или любые разделители, которые вы хотели бы. Дополнительная информация находится по адресу: https://theantlrguy.atlassian.net/wiki/display/ST4/Group+file+syntax