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
中去寻找,没有寻找到,就认为是不存在,就不显示。为了避免如此我们应该用如下格式:
site_name = 开发测试名称——Framewrok
site_copyright= XXXXX
本文探讨了在Spring3 MVC框架中实现国际化的方法,并详细解释了如何避免使用点符号来引用属性,确保国际化内容能正确加载到Session并被页面访问。
173万+

被折叠的 条评论
为什么被折叠?



