Spring批量使用国际化资源的改进
最近研究spinrg(mvc)+openjpa,相比Struts2来说SpringMVC最郁闷的是国际化资源文件的配置,不知道是我不会还是什么原因,必须要一个一个写。看了源代码貌似也没有提供批量导入的方法,所以尝试着进行了一些修改。因为没有仔细研究Spring的代码,只简单改了一下,效率等方面可能考虑的不多,但我主要用在WEB部分,只在启动的时候加载,效率也不会有太大的影响。少说 上代码
?
xml配置
?
可以看出要修改的就是“org.springframework.context.support.ReloadableResourceBundleMessageSource”,我重建了一个class:com.strong.utils.spring.ReloadableResourceBundleMessageSource,修改部分代码:
?为了尽可能的减少耦合的部分,只是在这里把从list中获取资源文件数组改为只获取第一个,并遍历这个目录将其中的所有properties扩展名且不含_的文件的相对路径增加到basenames中,其他的都不改变。遍历文件目录的代码:
?OK 完工,代码写的非常粗糙,并且也只修改了ReloadableResourceBundleMessageSource类,不过大概意思和思路已经差不多了,至于使用通配符获取资源文件例如 /WEB-INF/classes/com/strong/*/messages等就类似了
?