我有 Freemarker模板,我希望在我的Java Servlet之间分享,并将其打包到单独的 WAR。
此类常用模板的正确位置是什么?
我使用Apache Tomcat 7,我不想将它们全部放到/var/lib/tomcat7
这个问题不关于如何共享应用程序代码以及在Java中放置JAR文件或如何使用extends
的位置。关于如何共享web.xml,甚至不。
问题是如何共享常用模板以及共享模板的正确位置。
答案 0 :(得分:1)
取决于为什么需要这样做。一种可能性是将模板放入一个战争依赖的(可能是传递性的)Maven工件中。然后,您可以使用ClassTemplateLoader
来访问它们。另一种可能性是在某个地方有一个应用程序主目录,如/var/lib/myapp
,然后在其中有一个templates
子目录(以后可能还有一些其他共享应用程序数据)。应该使用环境变量或Java System属性指定应用程序主目录,因此可以由安装应用程序的人员决定,应用程序可以读取它的内容。然后在war-s中你可以使用FileTemplateLoader
来加载模板。