我试图从外部位置读取一个属性文件,我尝试使用contextPath名称作为文件名,因为我将在同一服务器上运行该应用程序的多个实例。我目前正在使用SpringFramework 3.1.4
<context:property-placeholder location="file:/configFolder/#{servletContext.contextPath}.properties" />文件名最后是/configFolder/#{servletContext.contextPath}.properties,它不替换变量,还有其他方法来获取这个值吗?
发布于 2014-07-16 14:25:43
尝试:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="file:/config/#{servletContext.contextPath}.properties" />
</bean>发布于 2014-07-15 16:39:16
#{servletContext.contextPath}是一个仅通过表达式语言在JSP和Facelets中已知的变量。这在春天行不通。您应该将配置文件放在jar中的资源文件夹中,然后从那里检索它。
您可以说这在其他项目中有效,但这是因为Spring支持一个名为servletContext的变量( IMO是错误的)。看起来Spring 3.2不再支持这一点了,正如这里所解释的:在Spring3.2中解析servletContext.contextPath表达式。
https://stackoverflow.com/questions/24763579
复制相似问题