Używam Freemarker do generowania szablonu freemarker. Ale potrzebuję jakiegoś sposobu na ucieczkę od tagów wolnostojących.Freemarker ucieka przed freemarkerem
Jak można uciec z tagu <#list>
lub ${expression}
?
Używam Freemarker do generowania szablonu freemarker. Ale potrzebuję jakiegoś sposobu na ucieczkę od tagów wolnostojących.Freemarker ucieka przed freemarkerem
Jak można uciec z tagu <#list>
lub ${expression}
?
Używam funkcji alternative syntax. Uruchamiam szablon za pomocą [#ftl] i używam tej składni.
Dla wyrażenia używam ciąg dosłownego cechę: ${r"${expression}"}
Można także użyć: ${"$"}{expression}
jeśli okaże się {} gniazdowania mylące.
Dobry pomysł, myślę, że to wspiera czytelność lepiej –
Najlepsze z wszystkich proponowanych rozwiązań alternatywnych. Boggles mój umysł, że nie ma prostszego sposobu, takiego jak '\ $' - ale nie ma. Jest to wystarczająco dobre przybliżenie elegancji ... – Stevel
W przypadku, gdy chcemy korzystać z innych niż surowe ciągi tak, że można uciec cudzysłów, apostrof, etc, można wykonać następujące czynności:
Wyobraź sobie, że chcesz użyć ciąg $ {Witam} - "Przyjaciela mojego przyjaciela" wewnątrz napisu. Nie możesz tego zrobić z surowymi ciągami. Użyłem tego, co działa:
${"\x0024{Hello}-\"My friend's friend\""}
Nie uniknąłem apostrofu, ponieważ użyłem podwójnych cytatów.
Używam tego samego podejścia, które jest trochę brzydkie, ale działa. Robi się naprawdę nieprzyjemnie, jeśli użyję zmiennej zewnętrznego szablonu do zdefiniowania dostępu do właściwości zmiennej wygenerowanego szablonu, która wygląda tak: $ {r "$ {entity."} $ {PropertyDescriptor.name}} i kończy się jak $ {entity.creationDate} , zważywszy, że właściwośćDeskryptor ma nazwę "creationDate". –