2016-08-23 136 views
0

我是一名前端開發人員,我被拖放到使用Spring MVC,Maven,DropWizzard等與Freemarker(FTL)模板進行渲染視圖的Java團隊中。靜態Freemarker模板

我很想能夠使用Freemarker模板,而無需每次執行任何常規編譯WAR/JAR文件等。

我想從根本上解耦FTL模板,但使它們仍然是直接消耗品。當我與他們合作時,我會提供虛擬/模擬數據,但在應用程序中使用時,他們會提供真實數據。

有沒有人這樣做?

回答

0

我對DropWizard並不熟悉,但通常,您可以直接從IDE(如Eclipse)運行Web應用程序,而無需顯式編譯和打包它們。否則,開發者也會把頭髮拉出來。這也意味着您可以在不重新啓動應用程序的情況下編輯模板。 FreeMarker本身能夠檢測模板更改並重新加載它們,但它依賴於設置,如果它實際上工作。 (一個相關的FreeMarker設置是template_update_delay,應該設置爲0或者某個較低的值。)

此外,FreeMarker可以配置爲從外部目錄加載模板,但我不知道如何實現與DropWizard。看來,你可以在yml文件下views/.ftl任意設置FreeMarker的設置(如http://www.dropwizard.io/1.0.0/docs/manual/views.html看到的),所以可以這樣做太template_loader: freemarker.cache.FileTemplateLoader(java.io.File('/my/templates')),但也許DropWizard會以自身的模板加載...

但是你說你也想提供模擬數據。所以也許你根本不想使用DropWizard應用程序。對於開發者來說,很容易將一個應用程序放在一起,在這個應用程序中可以訪問從外部目錄加載的模板,還有一些Groovy腳本可以設置模擬數據模型,該模型也位於外部目錄中......類似的東西,但是我不知道這樣的效用。 (最接近的可能是FMPP。)

+0

感謝您的回覆。它使開發者和我沿着正確的軌道前進。 –