强制ResourceBundleViewResolver从特定位置加载view.properties文件

时间:2010-08-18 21:47:36

标签: java spring spring-mvc

有没有办法设置ResourceBundleViewResolver应该查找view.properties个文件的具体位置?

根据特定位置,我的意思是不在类路径内但在文件系统/网络资源中的任何位置。

提前致谢。

1 个答案:

答案 0 :(得分:0)

它不必在WEB-INF/classes,它只需要在类路径的某个地方,而WEB-INF/classes通常是最方便的地方。

如果你想把它放在其他地方,那么你可以自由地这样做,只要它在类路径的“根”中,例如在WEB-INF/lib下的JAR内。

此外,它不必被称为views.properties,它可以是你喜欢的任何东西。阅读ResourceBundleViewResolver.setBaseName()的{​​{3}}:

  

设置一个基本名称,如下   ResourceBundle约定。该   默认为“views”。

     

ResourceBundle支持不同的   后缀。例如,基本名称   “views”可能会映射到ResourceBundle   文件“views”,“views_en_au”和   “views_de”。

     

请注意,ResourceBundle名称是   有效的类路径位置:作为一个   结果,JDK的标准   ResourceBundle将点视为包   分隔符。这意味着   “test.theme”实际上是等同的   “测试/主题”,就像它一样   程序化的java.util.ResourceBundle   的使用。

所以它可以在你喜欢的类路径中的任何地方。 ResourceBundleViewResolver比你给它的信誉更灵活 - 阅读文档是值得的。