Ich versuche, StringTemplate in einer Java-Webanwendung zu verwenden, um HTML-E-Mails zu generieren. Wenn ich versuche, Zeilenumbrüche einzugeben, verwende ich \<br\>
Dies scheint nicht zu funktionieren. \<b\>
funktioniert nicht so gut. Gibt es eine Möglichkeit, < und > als Begrenzungszeichen zu deaktivieren, damit ich testen kann, ob dies das Problem ist? In der gesamten StringTemplate-Dokumentation heißt es, dass $...$ als Begrenzungszeichen verwendet werden soll, aber es wird nicht gesagt, wie man <...> nicht verwendet.
Antworten
Zu viele Anzeigen?Am Anfang der Vorlagengruppendatei (.stg) können Sie Folgendes eingeben:
delimiters "$", "$"
...oder beliebige Begrenzungszeichen, die Sie wünschen. Weitere Informationen finden Sie unter: https://theantlrguy.atlassian.net/wiki/display/ST4/Group+Datei+Syntax
Obwohl Lumpy die Frage definitiv richtig beantwortet hat, hat er das Problem, das ich hatte, nicht gelöst, also dachte ich, ich würde meine Lösung hier für zukünftige Leser hinzufügen.
Auch wenn Sie eine x.st
Datei in der STGroupDir
die Sie in das Programm laden und zu einem bestimmten Zeitpunkt rendern wollen, müssen Sie in dieser Datei eine Syntax definieren (genau wie in einer STGroupFile
) wie folgt:
x(variables, go, here) ::= "this uses $variables$ such as $go$ and $here$"
Beachten Sie, dass die Syntax den gleichen Namen wie die Datei haben sollte (ohne das .st
Erweiterung, natürlich).
Dies ist unpraktisch, wenn Sie viele Anführungszeichen in Ihren Vorlagen haben, wenn Sie die Erklärung der Vorlage nicht am Anfang der Datei einfügen wollen oder wenn Sie eine sehr lange Vorlage haben wollen. In diesen Fällen sollten Sie eine STRawGroupDir
. Der Nachteil ist, dass es keine zentrale Stelle am Anfang der Vorlagendatei gibt, an der alle Variablen, die übergeben werden müssen, benannt werden.