Possiedo un'applicazione web MVC Spring che utilizza freemarker come lingua modello. Attualmente sto lavorando sulle modifiche per svuotare la sezione head html invece di buffering dell'intero html e del flushing alla fine. Ho provato a impostare il auto_flush freemarker setting su false e ad usare la direttiva incorporata del freemarker < #flush come di seguito, ma non sembra funzionare.Flussaggio testa HTML con freemarker
common-header.ftl
<head>
.......
</head>
<#flush>
page.ftl
<#include "common-header.ftl" />
<body>
.......
</body>
Gradirei il vostro aiuto con questo. Inoltre, secondo lo standard API documentation, autoFlush() sembra funzionare solo per le pagine che non sono composte da istruzioni #include e richiedono più metodi Template.process(). Se è corretto, dovrei scrivere un template processor personalizzato per gestire le sezioni head e body nella mia pagina? Qualsiasi suggerimento sarebbe utile.
Aggiornamento:
Provato utilizzando FreeMarkerView.java come la classe di visualizzazione in quanto utilizza il writer predefinito (PrinterWriter) di HttpServletResponse per elaborare lo scrittore. Anche se PrinterWriter supporta flush() e la direttiva freemarker < #flush> nel mio modello non sembra funzionare.
Provato a estendere la classe FreeMarkerView per avvolgere il PrinterWriter all'interno di un BufferedWriter e che non funziona altrettanto bene.
<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix"><value>.ftl</value></property>
<property name="contentType"><value>text/html; charset=utf-8</value></property>
<property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/>
<property name="exposeSpringMacroHelpers"><value>true</value></property>
</bean>
Apprezzerei qualsiasi aiuto con questo.
Come si fa a testare questo? –
Aleksandr M @, puoi approfondire? Ho provato distribuendo l'applicazione web e richiedendo le pagine html generate con Freemarker. – soontobeared
"ma quello non sembra funzionare" cosa ti fa pensare che? – Raedwald