【Spring学习笔记-MVC-12】Spring MVC视图解析器之ResourceBundleViewResolver

场景

当我们设计程序界面的时候,中国人希望界面是中文,而美国人希望界面是英文。
我们当然希望后台代码不需改变,系统能够通过配置文件配置,来自己觉得是显示中文界面还是英文界面。
这是,Spring mvc的ResourceBundleViewResolver视图解析器就派上用场了。



程序设计



配置文件:配置ResourceBundleViewResolver视图解析器



控制层


@RequestMapping(value = "/index.action")
    public String index(ModelMap mmMap) {
        Person person = new Person();
        person.setUsername("Zhangsan");
        person.setSalary((long)3555.111);
        person.setBirthday(new Date());
        
        mmMap.addAttribute("person",person);
        
        return "diffi18n";
    }


views_en_US.properties


  1. diffi18n.(class)=org.springframework.web.servlet.view.JstlView
  2. diffi18n.url=/jsp/USA.jsp

views_zh_CN.properties


  1. diffi18n.(class)=org.springframework.web.servlet.view.JstlView
  2. diffi18n.url=/jsp/China.jsp

      

China.jsp


  1. <%@ page language="java" pageEncoding="UTF-8"%>
  2. <%
  3. String path = request.getContextPath();
  4. String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
  5. response.setHeader("Pragma", "no-cache");
  6. response.setHeader("Cache-Control", "no-cache");
  7. response.setDateHeader("Expires", 0);
  8. %>
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  10. <html>
  11. <head>
  12. <title>类型转换测试</title>
  13. <script type="text/javascript">var basePath = "<%=basePath%>";</script>
  14. <script type="text/javascript" src="<%=basePath%>js/JQuery/jquery.min.js"></script>
  15. </head>
  16. <body>
  17.     <div style="padding:5px 0;">
  18.     【用户名】:${ person.username},【薪水】:${person.salary},【生日】:${person.birthday }
  19. </div>
  20. </body>
  21. </html>


11.jpg
修改客户端语言:






附件列表

原文地址:https://www.cnblogs.com/ssslinppp/p/4606729.html