Spring3 MVC 中:如果使用国际化的形式,如果采用如下形式:
- @Override
- public void sessionCreated(HttpSessionEvent se) {
- HttpSession session = se.getSession();
- String filePath = se.getSession().getServletContext().getRealPath("/" ) + FILE_NAME;
- Map<String, String> properties = readProperties(filePath);
- for (String o : properties.keySet()) {
- session.setAttribute(o, properties.get(o));
- }
- }
将国际化的内容加载到Session,如果按照以前的国家的内容方式:
- site.name = 开发测试名称——Framewrok
- site.copyright= XXXXX
的形式书写,在页面采用${site.name},${site.copyright}获取国际化的内容是拿不到的值得,原因是:Spring 3
采用的是Model 和ModelMap 的有限级别,session的优先级别最低,所以中间有“.”的时候,会在Model或ModelMap
中去寻找,没有寻找到,就认为是不存在,就不显示。为了避免如此我们应该用如下格式: