14
Wszystkie szablony są przechowywane w bazie danych. I muszę pobrać zawartość szablonu z bazy danych i oznaczony symbolem wolnostojącym. Wyjście końcowe zostanie wyrenderowane w polu tekstowym.Jak przekazać String jako dane wejściowe w FreeMarker?
Ale nie znajduję żadnej metodologii, za pomocą której mogę wysłać ciąg zamiast nazwy pliku.
Proszę sugerować.
pamiętać, że jeśli chcesz dobry występ The 'Configuration' nie powinny być ponownie utworzone (lub ponownie skonfigurowany) przed każdym szablonie przetwarzanie; powinien to być singleton. Również ponowne przetwarzanie szablonów w kółko (w przypadku łańcucha) może być zbyt wolne w niektórych aplikacjach; w takim przypadku można użyć niestandardowego 'TemplateLoader' (z' cfg.setTemplateLoader'), który ładuje szablony po nazwie z bazy danych, ponieważ wtedy FreeMarker będzie buforował obiekty 'Template'. (Możesz też napisać własny mechanizm buforowania, aby ponownie użyć szablonu 'Template's, oczywiście.) – ddekany
W najnowszej wersji Freemarker wygląda na to, że możesz po prostu przekazać ciąg bez konieczności zawijania go w' StringReader' –
Co jeśli próbujesz zezwolić użytkownikom na testowanie szablonów? IE są dwa sposoby korzystania z systemu. Normalnym przypadkiem jest ładowanie z bazy danych (i mam do tego niestandardowy "TemplateLoader"), ale chcę również, aby użytkownicy mogli testować szablony podczas ich edycji. Mam jedną instancję singleton dla pierwszego przypadku, czy uzasadnione jest nowe "Konfiguracja" dla tego ostatniego przypadku? – user2573153