我正在尝试将Velocity配置为从文件系统读取模板文件,而不是从类路径中读取它。如果我将velocityEngine配置为:
,我可以从类路径中读取模板文件<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean"
p:resourceLoaderPath="classpath:/com/myapp/test"
p:preferFileSystemAccess="false"/>
将templatefile.vm放在com.myapp.test包中。
如何更改以上内容,以便我可以将模板文件放在文件系统中的任何位置并访问它。我尝试了这个,但它没有用。
<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean"
p:resourceLoaderPath="c:\home\users\me\app\templates"
p:preferFileSystemAccess="true"/>
我试图谷歌看看我是否能找到解决方案,但大多数示例都是针对Spring MVC配置的。我使用的是独立的Spring应用程序。
由于
答案 0 :(得分:2)
尝试使用file:
指定文件名:
<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean"
p:resourceLoaderPath="file://c:\home\users\me\app\templates"
p:preferFileSystemAccess="true"/>
这就是我认为应该有效的原因。根据{{3}},当您将PreferFileSystemAccess
设置为true
时,它会开始使用SpringResourceLoader
。 SpringResourceLoader
非常多才多艺,这里是this document。
nice overview也可能是相关的。