2016-08-23 134 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

感谢您的回复。它使开发者和我沿着正确的轨道前进。 –